我是這個東西的新手。我想創建一個命令行界面,爲我的應用程序,我可以指定自定義命令的類似: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