如何在命令行中直接运行 node / babel 脚本?

新手上路,请多包涵

我的 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"
  }
}

我要运行的 js 脚本是 app.js。我无法使用 node app.js 直接运行它,因为 app.js 包含新的语言语法。

因此,我必须按照上面定义的启动脚本,使用 npm start 通过 babel 运行它。这里没有问题。

我的问题是如何在命令行中直接运行cmd,可以吗?类似于:

npm run babel-node –presets env app.js

原文由 joedotnot 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 744
2 个回答

node ./node_modules/babel-cli/bin/babel-node.js --presets env app.js

原文由 Rodrigo Mata 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以使用 npx 执行 npm 包二进制文件。

因为 Babel 7 总是解析相对于本地项目文件夹的插件和预设,所以你必须在本地安装 @babel/preset-env 到项目中。

 npm i -D @babel/preset-env

之后 babel-node 可以运行 npx 无需安装到项目中:

 npx -p @babel/core -p @babel/node babel-node --presets @babel/preset-env app.js

如果将 @babel/node 安装到项目中, npx 将更喜欢项目本地版本。


对于 Babel 6,可以使用以下命令:

 npx babel-node --presets env app.js

原文由 Viktor Vlasenko 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题