Автор оригинала: Roman Liutikov.
вступление
Есть куча старских наборов для ES2015 и реагировать проекты. Если вы начинаете быстрый прототип или играть с некоторым кодом, вы, вероятно, просто хотите минимальную настройку.
Требуемый набор инструментов включает в себя: транспортер, Bundler и Hot Reloader (потому что это 2015 год, и вы не хотите тратить свое время на перезарядку страницы).
Брасифицировать действительно хороший биндер, и это легко использовать. И что важно – это модуль, поэтому вы можете подключать плагины и трансформироваться в кратчайшие сроки.
Бабел Наш транспортер выбора, независимо от того, используете ли вы реагировать или нет, он делает очень хорошую работу. И горячая перезагрузка – это шаг вперед к производительности.
Вместо перезагрузки всей страницы вручную или автоматически Горячий перегружатель Точно относится к патчам к коду в браузере. Таким образом, это быстро и позволяет поддерживать состояние приложения, поэтому вам не нужно будет повторять себя, чтобы добраться до того же самого интерфейса UI, что и до патча.
Эта статья не стремится представить еще один стартовый комплект, но, чтобы помочь вам выяснить минимальные необходимые инструменты для начала работы с проектом ES2015.
Начиная
Создать Package.json Файл и установите следующие пакеты:
$ npm i -D browserify babelify watchify serve
Первые три пакета являются Bundler, плагин Babel и Watcher файлов; Пакет подачи – это статический сервер.
Добавьте их в Package.json Таким образом, Browserify будет использовать преобразование Babel на указанном этапе.
{
"browserify": { "transform": [ ["babelify", {"stage": [0]}] ]
}
Наконец, вот сценарий NPM для начала Bundler в режиме часов с исходными картами и для запуска статического сервера из указанного каталога.
"scripts": {
"start": "watchify src/index.js -o public/js/bundle.js -dv & serve public"
}
Для замены горячего модуля я использую ROWARYIFY, чтобы установить следующие плагин и обязательные пакеты для перезагрузки компонентов React:
$ npm i -D livereactload react-proxy babel-plugin-react-transform
Создать .babelrc Файл со следующим содержимым, чтобы сообщить Babel Transform для использования плагинов, которые вы установили.
{
"env": {
"development": {
"plugins": [ "react-transform" ],
"extra": {
"react-transform": {
"transforms": [{
"transform": "livereactload/babel-transform",
"imports": ["react"]
}]
}
}
}
}
}
Теперь добавьте livereacload Плагин в сценарий NPM, и вы хороши, чтобы пойти.
"scripts": {
"start": "watchify src/index.js -o public/js/bundle.js -dv -p livereactload & serve public"
}
Не забывайте о сборке производства, вам понадобится UGLIFY-JS Чтобы министвовать коду.
npm i -D uglify-js
И ваш сценарий сборки, который запускает транспиляцию и минификацию.
"build": "browserify src/index.js -t [ babelify --stage 0 ] | uglifyjs --screw-ie8 -c=dead_code,evaluate,loops,unused > public/js/bundle.js"
Не стесняйтесь также искать на Github Для инструментов и наборов стартера, так как есть тонны готовых к использованию котельных.