joe*_*not 8 node.js npm npm-cli
我的package.json看起来像:
{
"name": "99-nodetest",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "babel-node --presets env app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "latest"
}
}
Run Code Online (Sandbox Code Playgroud)
我想运行的js脚本是app.js. 我无法使用节点app.js直接运行它,因为app.js包含新的语言语法.
因此,我必须按照上面定义的启动脚本,使用npm start通过babel运行它.没问题.
我的问题是如何直接在命令行中运行cmd,可以这样做吗?类似的东西:
npm run babel-node --presets env app.js
Mic*_*ole 13
伟大的古格利麻球!这比应该的要困难得多。
有关文档,请参见此处。TLDR;
Babel > 7.0 版必须进入你的package.json命令行才能运行。
npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node
npx babel-node --presets @babel/preset-env imports/test.js
Run Code Online (Sandbox Code Playgroud)
小智 8
全局安装@babe/node-
npm i -g @babel/node
Run Code Online (Sandbox Code Playgroud)
然后 babel-node 命令在您的终端中可用。所以,你可以运行 -
babel-node --presets env app.js
Run Code Online (Sandbox Code Playgroud)
顺便说一句,它应该只在开发环境中使用,从不推荐用于生产,因为它不必要地繁重并占用大量内存。
您可以使用执行npm软件包二进制文件npx。
由于Babel 7始终会解析相对于本地项目文件夹的插件和预设,因此您将不得不在@babel/preset-env本地安装到项目中。
npm i -D @babel/preset-env
Run Code Online (Sandbox Code Playgroud)
之后,无需安装babel-node即可将其运行npx到项目中:
npx -p @babel/core -p @babel/node babel-node --presets @babel/preset-env app.js
Run Code Online (Sandbox Code Playgroud)
如果安装@babel/node到项目中,npx则将首选项目本地版本。
对于Babel 6,可以使用以下命令:
npx -p @babel/core -p @babel/node babel-node --presets @babel/preset-env app.js
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12681 次 |
| 最近记录: |