如何在全球范围内安装具有es6导入支持的node-cli工具?

时间:2019-07-08 09:58:43

标签: node.js npm command-line-interface

我正在创建一个简单的项目生成器工具,并且在主index.js文件中使用了es6导入。我在项目的根目录下安装了babel-node.babelrc

要在全球安装该工具,请在package.json中添加它:

"bin": {
  "generate": "./node_modules/.bin/babel-node ./index.js"
},

当我在项目的根目录下运行npm linknpm install -g时,出现错误消息:

ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/node-project-generator/node_modules/.bin/babel-node ./index.js'

我也尝试过:

"bin": {
  "generate": "babel-node ./index.js"
},

"bin": {
  "generate": "npx babel-node ./index.js"
},

此工具在我的项目中运行良好。那么,如何添加es6支持以将其全局安装?

1 个答案:

答案 0 :(得分:0)

您是否已将babel-node作为对软件包的依赖项?

无论如何,更正确的方法是使用babel将您的程序预先编译到某个dist目录中,以便无需任何其他预处理程序即可运行它。

"bin": {
  "generate": "./dist/index.js"
}

减少问题的出现和更快的命令执行。