【问题标题】:Node.js: Custom command line interfaceNode.js:自定义命令行界面
【发布时间】:2013-03-13 00:12:26
【问题描述】:

我是这方面的新手。我想为我的应用程序创建一个命令行界面,我可以在其中指定如下自定义命令:

myapp new /root/myapp
myapp start /server.js
myapp stop /server.js

所以我可以与我的应用程序进行交互,就像我使用 mysql 之类的真实服务一样。是否可以在 node.js 中编写类似这样的服务?

在与他们合作方面,我正在寻找类似于 forevermeteor 的东西。

感谢您的帮助!

【问题讨论】:

  • 是的,有可能。你有什么问题? (this 可能会有所帮助)。另外,为什么不直接阅读他们的代码呢? (forever)
  • 感谢@tjameson 我正在阅读他们的源代码,他们使用 flatiron 作为 cli 工具,但是如果不调用 node,我仍然不知道他们实际上是如何做到的。我的意思是你可以永远像这样使用forever start,但是当我阅读flatiron 文档时,在每个示例中它都像node myapp.js -options,所以我不太明白。
  • 注意到top 上的#!?当你chmod +x你的文件时,解释器会检查这个。这是说它是一个node 文件,所以它使用节点执行它。

标签: javascript node.js service command command-line-interface


【解决方案1】:

您需要像这样在 package.json 中指定 myapp:

{ "name": "myapp"
, "version": "0.0.1"
, "engines": [ "node >=0.4.0" ]
, "description": "myapp command line util."
, "author": "..."
, "contributors": []
, "keywords" : [ "myapp", "command", "shell" ]
, "repository":
  { "type" : "git"
  , "url" : "https://...."
  }
, "bin" : { "myapp" : "./bin/myapp.js" }
}

http://howtonode.org/how-to-module

【讨论】:

    【解决方案2】:

    您可以使用 npm 中的命令模块来构建您自己的 CLI。只需输入:

    npm install commander 
    

    这将安装指挥官模块。

    有关示例和文档,您可以浏览:https://www.npmjs.com/package/commander

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      相关资源
      最近更新 更多