Автор оригинала: 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 Для инструментов и наборов стартера, так как есть тонны готовых к использованию котельных.