Профессиональные инструменты разработчика JS. И как модульно подключать JavaScript?

Давно не работал с JS и хочется снова вернуться в эту область.
Хотелось бы услышать о best practices в рабочем окружении.

Какая система сейчас наиболее популярна для подключения JavaScript кода? RequireJS?
Чтобы можно было нормально разбивать код на модули и отлаживать код в IDE. С использование Source Maps, чтобы писать не на ванильном JS, а на его диалекте, например CoffeeScript.
И чтобы в продакшен все это компилировалось в один файл.

Правильно ли я понимаю, что мне придется воспользоваться связкой из следующих элементов?
  • gulp для компилирования на лету при разработке и создание одного компилированного файла в продакшене
  • Node.js - для утилит
  • bower - подключение зависимостей. Однако я заметил, что не все стремятся им пользоваться, а используюn npm.
  • WebStorm для работы с кодом и отладки
  • Angular - фреймворк
  • RequireJS для подключения файлов
  • CoffeeScript - примитивный препроцессор, для улучшения читаемости JS. Стоит ли применять тяжелую артиллерию TypeScript? Язык мне нравится, особенно его типизация.
  • selenium webdriver - интеграционное тестирование
  • Jasmine - юнит-тестирование. Или есть более популярные решения? Популярно ли юнит-тестирование в JS?

Посоветуйте, что в этом списке можно изменить, добавить или убрать.
  • Вопрос задан
  • 1800 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
RequireJS не нужен, особенно в контексте Angular у которого и без того есть свои модули, а с Angular2 используются нативные модули ES2015, да и есть достаточно неплохие альтернативы.

CoffeeScript - примитивный препроцессор, для улучшения читаемости JS.

Вот что точно стоит применять так это babel.js, особенно в контексте предыдущего пункта про модули, тогда можно в dev загружать все через system.js. Или вообще собирать все через webpack.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@sergeystepanov1988
  • Для модульности можно только TypeScript.
  • Редактор Visual Studio 2015 Community Edition (Встроенная поддержка TypeScript от создателей языка).
  • Ну и подключить Require.js
  • Возможны небольшие танцы с бубном при компиляции проекта, но это один раз настроить и все будет работать.

Ответ написан
maximglobak
@maximglobak
iOS developer
Для модульности посмотри в сторону browserify.org если я правильно тебя понял.
Для тестов можно посмотреть mocha

Насчет workflow для JS, то можно настроить Sublime Text 3 с плагинами для js (по мне, то он быстрее работает и со всеми плагинами почти как ide), там пишешь в любом препроцессорном языке и дальше настраиваешь Gulp, который отслеживает все изменения в файлах, автоматически компилирует все, конкатинирует и обновляет браузер. Получается очень удобно.
p.s. насчет фреймворков, то скорее всего тебе придется повстречать фреймворки jquery, backbone, underscore, d3.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы