使用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 。

耶开源! https://github.com/strongloop/strong-cli

我最喜欢的function之一是“slcdebuggingapp.js”,它可以调出节点检查器。 它很好的CLI糖。 但是,当然你可以完全运行节点并手动configuration。

我创build了一个Linux init.d守护进程脚本,您可以使用它将slc作为服务运行: https : //gist.github.com/gurdotan/23311a236fc65dc212da

可能对你们中的一些人有用。

 slc run 

它只能用于强循环应用

node .node [fileName]可以用来执行任何Nodejs文件