使用StrongLoop的“slc run”和“node app.js”有什么不同

时间:2014-01-21 00:45:17

标签: node.js strongloop

我正在完成StrongLoop的入门说明并创建了我的示例应用程序。虽然说明书告诉我使用:

slc run .

启动我的应用程序,我注意到我可以同样运行我的应用程序:

节点app.js

得到相同的结果。显然,通过使用第二种方法,我可以将StrongLoop应用程序与诸如forever之类的工具集成在一起。

所以我的问题是,slc运行提供了哪些额外的好处?它是否具有自动重启等功能?

6 个答案:

答案 0 :(得分:8)

您可以使用slc而非node app.js执行更多操作。

slc是StrongLoop的命令行工具,它具有更多功能。如果你只是想运行应用程序,它并不重要,但如果你想做更多,你可以。

以下是文档:http://docs.strongloop.com/display/SLC/StrongLoop+Controller

它没有太多用于开发的功能(例如自动重启等),但它有助于管理服务器而不是。

答案 1 :(得分:4)

我最喜欢的功能是使用slc缩放节点应用程序。

你可以做“slc run.size 2”。这将启动1个主服务器和1个工作进程,它是单个集群的一部分。现在,如果我的工作量增加,资源很少,我知道使用strongOps监控(slc strongops)并且我想扩展应用程序而不必停止应用程序并重新设计,我可以执行以下操作:

“slc clusterctl size 4”。这将启动另外两个工作进程,并在运行时自动将它们附加到同一个应用程序集群。主服务器将自动将工作负载分配给新进程。

这是建立在节点集群模块之上的。但还有更多内容。使用的集群存储也可以存储共享集群状态对象。

另一个功能是“slc debug”。启动Node Inspector并将应用程序代码放在运行时上下文中,帮助我调试,加载源映射并迭代测试运行。

答案 2 :(得分:3)

根据目前的最新版本(v2.1.1),运行slc run而不是node app.js的主要好处是,您可以同时获得REPL(lib/run-reple.js#L150L24 )。看起来您只需在main中正确设置package.json,因为它使用Module._load()

如果你运行slc run app.js,就我所知,你没有任何好处:lib/commands/run.js#30

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

答案 3 :(得分:2)

我最喜欢的功能之一是'slc debug app.js',它会启动节点检查器进行调试。它很好的CLI糖。但是当然你可以完全运行节点并手动配置它。

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

slc run

它只能用于强循环应用

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