【问题标题】:Forever Commandline with NPM arguments带有 NPM 参数的 Forever 命令行
【发布时间】:2017-03-22 10:03:50
【问题描述】:

我正在构建一个项目,我有多个运行实例,使用完全相同的代码,永远使用。
对于forever,可以使用--id "id" 设置一个ID。

{
  "name": "project",
  "version": "1.0.0",
  "description": "Test",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "forever": "forever start --id $1 -c \"npm start\" ./"
  },
  "author": "Renzo <renzo@geex.company>",
  "license": "ISC"
}

这样,我试图为不同的应用实例制定一个标准,例如:

npm run forever cms

这个想法是,这将使用 id cms 启动应用程序。
但相反,它列出了 ID 为 true 的应用程序。

谁能帮帮我?

【问题讨论】:

    标签: node.js command-line npm command-line-arguments forever


    【解决方案1】:

    尝试改变这个:

    npm run forever cms
    

    到这里:

    npm run forever -- cms
    

    但您还必须更改 package.json 中参数的顺序。

    此外,您可以将其放入脚本中,例如 forever.sh:

    #!/bin/sh
    forever start --id $1 -c "npm start" ./
    

    这个在 package.json 中:

    "scripts": {
      "forever": "sh forever.sh"
    },
    

    然后从命令行使用它:

    npm run forever -- cms
    

    要使其在 Windows 上运行,请参阅以下答案:

    【讨论】:

    • 这个想法最终没有成功,我不喜欢必须制作 env 的想法。特定的脚本,所以我现在以不同的方式解决了它,无论如何,谢谢!
    【解决方案2】:

    这更像是一种解决方法而不是答案,但现在我正在这样做:

    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "forever": "forever start --id $ncmsfid -c \"npm start\" ./",
    },
    

    并以ncmsfid=cms npm run forever开头

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-16
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2017-07-18
      • 2012-02-25
      • 2020-11-08
      • 2020-12-31
      相关资源
      最近更新 更多