使用StrongLoop的“slc run”和“node app.js”有什么不同?
我正在通过StrongLoop的入门指导,并创build我的示例应用程序。 虽然说明书告诉我使用:
slc run .
开始我的应用程序,我注意到我可以同样运行我的应用程序:
节点app.js
并得到相同的结果。 很明显,通过使用第二种方法,我可以将我的StrongLoop应用程序与永久性的工具集成在一起。
所以我的问题是,slc运行提供什么额外的好处? 它有function,如自动重启等?
您可以使用slc
做比node app.js
。
slc是StrongLoop的一个命令行工具,它有更多的function。 如果你只是想运行应用程序,这并不重要,但如果你想做更多,你可以。
这里是文档: http : //docs.strongloop.com/display/SLC/StrongLoop+Controller
它没有太多的开发function(例如自动重启等),但它有助于pipe理服务器,而不是。
我最喜欢的function是使用slc来缩放节点应用程序。
你可以做“slc run。size 2”。 这将启动作为单个集群的一部分的1个主进程和1个进程进程。 现在,如果我的工作负载增加,资源不足,我知道使用strongOps监视(slc strongops),并且我想缩放应用程序,而不必停止应用程序并重新devise,我可以执行以下操作:
“slc clusterctl大小4”。 这将会启动另外2个工作进程,并在运行时自动将它们附加到同一个应用程序集群。 主人将自动将工作负载分配给新的进程。
这是build立在节点集群模块之上的。 但还有更多。 使用集群存储来存储共享集群状态对象。
另一个function是“slcdebugging”。 启动Node Inspector并将应用程序代码放入运行时上下文中,并帮助我进行debugging,加载源代码映射并遍历testing运行。
基于目前的最新版本(v2.1.1),运行slc run
而不是node app.js
的主要好处是可以同时获得REPL( lib / run-reple.js#L150L24 )。 看起来你所要做的就是在package.json
正确设置main
,因为它使用了Module._load()
。
如果你运行slc run app.js
你就没有任何好处,我可以告诉: lib / commands / run.js#30 。
我最喜欢的function之一是“slcdebuggingapp.js”,它可以调出节点检查器。 它很好的CLI糖。 但是,当然你可以完全运行节点并手动configuration。
我创build了一个Linux init.d守护进程脚本,您可以使用它将slc作为服务运行: https : //gist.github.com/gurdotan/23311a236fc65dc212da
可能对你们中的一些人有用。
slc run
它只能用于强循环应用
而node .
或node [fileName]
可以用来执行任何Nodejs文件