Як налаштувати додаток node.js із підтримкою es6 та перезавантаженням сервера при зміні файлу .
Крок конфігурації (створення проекту з нуля):
1. Зайдіть в термінал до головного каталогу проекту
npm init
// створимо пакет.json для проекту
2.Встановіть залежності
npm install --save-dev babel
npm install --save-dev babel-cli
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-0
npm install --save-dev nodemon
1 - це може бути також етап-1 або 2, це залежить від того, які особливості ES ми хочемо використовувати
3. Ми повинні мати у файлі package.json щось подібне (напевно версія пакету буде іншою, але це нормально):
"devDependencies": {
"babel": "^6.5.2",
"babel-cli": "^6.16.0",
"babel-preset-es2015": "^6.16.0",
"babel-preset-stage-0": "^6.16.0",
"nodemon": "^1.11.0"
}
4. Створіть файл .babelrc у кореневому каталозі проекту (є файл package.json)
{
"presets": ["es2015", "stage-0"]
}
5. Створіть два каталоги:
src - ось робочий каталог з файлами, записаними в es6
dist - тут файли будуть скомпільовані до es5 за допомогою
Кореневий каталог вашого проекту повинен виглядати так:
- проекту
- src
- index.js // основний файл проекту
- дист
- package.json
- .babelrc
7. Додайте до package.json потрібні команди:
"scripts": {
"watch": "babel -w src/ -d dist/",
"build": "babel src/ -d dist/",
"serve": "babel -w src/ -d dist/ | nodemon --watch dist",
"test": "echo \"Error: no test specified\" && exit 1"
}
8. Доступні команди:
npm run watch
// починає спостерігати за переглядом змін у каталозі src та компілює в dist
npm run build
// компілює файли з каталогу src в dist
npm run serve
// він робить сервер спостерігати + запустити вузол, при кожній зміні файлу він перезапустить сервер вузла за допомогою nodemon, який спостерігає за змінами каталогу каталогів
9.Заключні нотатки
- Сервер буде запускати файл dist / index.js як основний файл.
- Файл dist / index.js буде скомпільовано з src / index.js, тому повинен бути основний файл проекту.
- Каталог dist слід додати для ігнорування за допомогою git (але не ігнорувати його для npm, якщо це буде пакет вузлів)
10. Запустіть сервер і починайте створювати програму в каталозі src .
npm run serve
II. Більш простий спосіб (готовий до використання шаблон)
Якщо для вас занадто багато балів, тоді повний робочий шаблон доступний на github - https://github.com/maciejsikora/node-express-babel-boilerplate .