2013-03-23 75 views
1

我是这个东西的新手。我想创建一个命令行界面,为我的应用程序,我可以指定自定义命令的类似:Node.js:自定义命令行界面

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

这样我就可以用我的应用程序,就像我做的,如MySQL真正的服务进行交互。是否有可能在node.js中编写这样的服务?

我在寻找类似于forevermeteor的东西。

感谢您的帮助!

+1

是的,这是可能的。你有什么麻烦? ([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

+0

感谢@tjameson我正在阅读他们的源代码,他们使用熨斗作为cli工具,但是我仍然没有看到他们实际上没有调用'node'。我的意思是你可以像永远开始一样永远使用它,但是当我读到flatiron文档时,在每个例子中它就像'node myapp.js -options',所以我不太明白。 – Adam 2013-03-23 01:34:40

+1

注意[顶部]的'#!'(https://github.com/nodejitsu/forever/blob/master/bin/forever)?当你用'chmod + x'文件的时候,解释器会检查这个。这是说它是一个“节点”文件,所以它执行它与节点。 – tjameson 2013-03-23 01:40:30

回答

0

您需要的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