我已经编写了一个需要在index.js之前执行的文件,因为它使用Commander要求用户将信息传递给索引文件。我将其放置在bin目录中,但是我不确定如何使其运行。我可以cd
进入目录并运行node <file_name>
并将所需的值传递给它,并且运行良好(因为我将索引导出并导入到文件中并在最后调用它),但是在那里不是将其添加到package.json
中以使用更简单的命令运行它的方法吗?
可执行文件:
#!/usr/bin/env node
const program = require('commander');
const index = require('../src/index.js')
program
.version('0.0.1')
.option('-k, --key <key>')
.option('-s, --secret <secret>')
.option('-i, --id <id>')
.parse(process.argv);
let key = program.key;
let secret = program.secret;
let publicId = program.id;
index(key, secret, publicId);
答案 0 :(得分:0)
当应该将Node.js脚本作为可执行文件运行时,将其指定为package.json bin
option:
要使用此功能,请在package.json中提供一个bin字段,这是命令名到本地文件名的映射。在安装时,npm会将文件符号链接到前缀/ bin(对于全局安装),或..nodenodemodules / .bin /(对于本地安装)。
它可以位于src
或其他位置:
{
...
"bin" : { "foo" : "src/bin.js" },
...
}