我是这个东西的新手。我想创建一个命令行界面,为我的应用程序,我可以指定自定义命令的类似:Node.js:自定义命令行界面
myapp new /root/myapp
myapp start /server.js
myapp stop /server.js
这样我就可以用我的应用程序,就像我做的,如MySQL真正的服务进行交互。是否有可能在node.js中编写这样的服务?
感谢您的帮助!
我是这个东西的新手。我想创建一个命令行界面,为我的应用程序,我可以指定自定义命令的类似:Node.js:自定义命令行界面
myapp new /root/myapp
myapp start /server.js
myapp stop /server.js
这样我就可以用我的应用程序,就像我做的,如MySQL真正的服务进行交互。是否有可能在node.js中编写这样的服务?
感谢您的帮助!
您需要的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" }
}
您可以使用指挥官模块从NPM构建自己的CLI。只需输入:
npm install commander
这将安装commander模块。
有关示例和文档,您可以通过以下方式:https://www.npmjs.com/package/commander
是的,这是可能的。你有什么麻烦? ([this](http://nodejs.org/api/process.html)可能有帮助)。另外,为什么不只是阅读他们的代码? ([永远](https://github.com/nodejitsu/forever/blob/master/lib/forever/cli.js)) – tjameson 2013-03-23 01:09:22
感谢@tjameson我正在阅读他们的源代码,他们使用熨斗作为cli工具,但是我仍然没有看到他们实际上没有调用'node'。我的意思是你可以像永远开始一样永远使用它,但是当我读到flatiron文档时,在每个例子中它就像'node myapp.js -options',所以我不太明白。 – Adam 2013-03-23 01:34:40
注意[顶部]的'#!'(https://github.com/nodejitsu/forever/blob/master/bin/forever)?当你用'chmod + x'文件的时候,解释器会检查这个。这是说它是一个“节点”文件,所以它执行它与节点。 – tjameson 2013-03-23 01:40:30