我正在使用NodeJS开发一些东西,它可以作为我可以连接的服务运行。
假设我正在使用计算器npm模块。
我需要在我的回购中运行它,如下所示:
./node_modules/.bin/calculator start
我想让它继续运行永远,我可以以某种方式连接它(在端口上可能?)
所以,我可以使用另一个节点模块用计算器发送/接收消息,比如说'calculator-connector',例如如下:
var calcConnector = require('calculator-connector'),
calc = calcConnector.connect();
calc.add(1, 2);
任何想法如何实现这种设计?
答案 0 :(得分:1)
我会这样做:
计算器本身不应该是固定的,它将在何时何地运行。我只是在需要的时候创建它:
var calculator = require('calculator');
calculator.listen('localhost', 8000); // create the service listening on port 8000
// create client capable of submitting the tasks
calcClient = createCalculatorClient('localhost', 8000)
calcClient.add(1,2)
我相信这样的设置是快速开发和调试的最佳选择。
当你需要真正分开的东西时(比如计算器本身将在一个单独的服务器上运行),你可以做一个简单的node
脚本来运行计算器(基本上,它是前两行上面的片段然后创建简单的upstart作业(如果是debianish服务器,或其他平台上的一些替代),这将使脚本保持活着。
PS:
看看express
的工作原理,设计精美:
http://expressjs.com/
了解有关暴发户的更多信息: http://upstart.ubuntu.com/getting-started.html
答案 1 :(得分:1)