Рубрики
Без рубрики

Быстро настройка проекта ES6 с брауризией, Babel & Hot Reloading

Эта статья не стремится внедрить еще один стартовый комплект, но выяснить минимально необходимые инструменты для начала работы с проектом JavaScript ES2015 / ES6.

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