我在使用 babel(使用babel-cli) + es6 javascript 部署到heroku / production时遇到了很多麻烦。我的应用程序是一个简单的快速和节点服务器,用es6风格的javascript编写。
我正在使用" babel-cli " (通过package.json安装)和package.json中的 postinstall 脚本,将我的es6 javascript预编译为" 构建"启动服务器之前的文件夹。
奇怪的是,所有东西都可以顺利地用 babel-cli 进行开发,但不能用于生产。
部署到production / heroku时,构建过程会卡在Makefile中的 babel 命令中并引发错误。
的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"
}
}
生成文件:
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.
任何帮助将不胜感激!设置服务器的东西是我最糟糕的克星! :(
答案 0 :(得分:0)
我通常通过weback运行babel,所以我在这里可能是错的(我通常不会使用makefile),但是,我认为你需要安装babel-core才能正常运行?看起来这个错误与你刚刚拥有" babel"安装,这将无法与v6一起使用。您需要安装其组件,至少需要" babel-core。"