提问者:小点点

带有两个命令的单个npm包


我有一个由这个JSON描述的node.js包:

  "name": "mycommand",
  "main": "index.js",
  "bin": {
    "mycommand": "./index.js",

index.js文件包含以下代码:

#!/usr/bin/env node
const app = require('./src/app.js')
const { Logger } = require('./utils/Logger')
app.init()

app.js包含基于YARGS的命令行工具的代码。

现在,我想在这个包中添加第二个命令,但我不知道应该如何继续,因为只能有一个“main”。

有谁有例子吗?


共1个答案

匿名用户

也许您正在寻找脚本而不是bin

现在,我想在这个包中添加第二个命令,但我不知道应该如何继续,因为只能有一个“main”。

bin映射与主文件无关。

您的命令正在得到符号链接,您可以简单地添加更多:

"bin": {
    "mycommand": "./index.js",
    "my-other-command": "./other-command.js",

也可以使用mycommand并使用process.argv解析脚本app.js中的参数:

https://nodejs.org/en/knowledge/command-line/how-to-parse-command-line-arguments/