У меня много проблем развертывается в Heroku/производства с Бабеля (с использованием столпотворение-кли) + ES6 Javascript. Мое приложение представляет собой простой экспресс-узел и узел, написанный в javascript в стиле es6.Развертывание узла/Экспресс-приложение для Heroku/Производство - Babel/ES6 Ошибка
Я использую «столпотворение-кли» (устанавливается через package.json) и постустановочных скрипт внутри package.json прекомпилировать мой ES6 Javascript в папку «сборки» перед запуском сервера.
Странно, что все готово плавно с babel-cli для разработки, но не для производства.
При развертывании в production/heroku процесс сборки застревает в команде babel в Makefile и выдает сообщение об ошибке.
Package.json
{
"name": "messenger-basic",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"clean": "rm -rf build && mkdir build",
"build-server": "babel src --out-dir build",
"build": "npm run clean && npm run build-server",
"postinstall": "make build",
"start": "node ./build/server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"babel-preset-es2015": "^6.9.0",
"body-parser": "^1.15.2",
"express": "^4.14.0",
"request": "^2.72.0"
},
"engines": {
"node": "4.4.5"
},
"devDependencies": {
"babel-cli": "^6.10.1",
"babel-preset-stage-2": "^6.11.0"
}
}
Makefile:
build: clean server_build
clean:
rm -rf build
mkdir -p build
server_build:
babel src --out-dir build
rsync -av --include \*/ --include \*.json --exclude \* ./src/ ./build/
rsync -av --include \*/ --include \*.ejs --exclude \* ./src/ ./build/
.PHONY: build clean
Ошибка:
You have mistakenly installed the `babel` package, which is a no-op in Babel 6.
Babel's CLI commands have been moved from the `babel` package to the `babel-cli` package.
Любая помощь будет очень признателен! Настройка сервера - моя худшая вражда! :(
Хм я был надеясь не использовать webpack, но желая попробовать это в надежде решить мою головную боль! – user3295436
@ user3295436 Я бы не сказал, что вам нужно будет использовать webpack для решения этой проблемы, просто упомянув мою точку зрения. Вы можете решить ее просто установка правильного подмножества модулей babel. – thesublimeobject