我使用以下命令在我的项目中本地安装了Babel:
npm install babel-cli babel-core babel-preset-es2015 --save-dev
这给了我package.json中的以下输出:
{
"name": "my_project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "babel src -d lib"
},
"scripts": {
"build": "babel --presets es2015 src -d lib"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"babel": "^6.5.2",
"babel-cli": "^6.18.0",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.8",
"babel-preset-es2015": "^6.18.0",
"webpack": "^1.13.3"
},
"dependencies": {
"lodash": "^4.17.2"
}
}
我不确定,但看起来它已成功安装。但是当我尝试运行npm run babel
时,我得到了:
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "babel"
npm ERR! node v7.0.0
npm ERR! npm v4.0.2
npm ERR! missing script: babel
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
nam ERR! /Path/To/My/Project/npm-debug.log
Babel为什么不工作?在package.json文件中包含:
答案 0 :(得分:3)
所以你运行npm run babel
它说npm ERR! missing script: babel
可能是你的意思:npm run build
需要思考的两件事:
答案 1 :(得分:1)
运行已安装的npm可执行文件有多种方法。
最简单的方法是全局安装它。在您的情况下,您只需要在命令行中使用babel-cli
。所以npm install -g babel-cli
会这样做。
如果您只想在本地安装,babel
上也可以使用node_modules/.bin/babel
可执行文件。但肯定是为命令打字很多。
您尝试的另一种方法是使用npm-run-scripts
。在这种情况下,您必须在package.json
中定义脚本。您已经拥有build
脚本,可以像npm run build
一样运行。因此,对于npm run babel
,您需要相同形式的脚本定义:
"scripts": {
"build": "babel src -d lib",
"babel": "babel script.js --out-file script-compiled.js" // For example
}
...
这主要用于为想要像构建脚本经常运行的命令一样使用简写。
您还可以使用以下语法为npm脚本提供其他参数:
npm run babel -- --presets es2015
请注意此处的其他--
。
还有另一种选择,您可以在全球范围内安装一次包,并从不同的项目链接到它:
npm install -g babel-cli
并在您的项目目录中npm link babel-cli
。
最常见的方法是在全局和本地安装可执行程序包(命令行界面)的最简单方法。