使用StrongLoop支持在Node.js应用程序中公开垃圾回收器

问题描述:

我们试图将垃圾回收器调用到Node.js应用程序中。使用StrongLoop支持在Node.js应用程序中公开垃圾回收器

在常规的Node.js应用程序,这是很简单,你只需要一个PARAM运行服务:

node -expose-gc script.js 

而且只需拨打GC到你的代码的时候,你要拨打的垃圾收集器:

Global.gc(); 

但由于我们正在向StrongLoop,并且可以运行与SLC工具的应用。

的问题是:如何与SLC运行应用程序时指定-expose-GC参数?使用下一个命令时,GC()调用失败:

slc -expose-gc run script.js 

(and when you exect Global.gc() you get...) 
TypeError: Object #<Object> has no method 'gc' 

看来,运行标志被忽略

+0

'slc'只是一个脚本吗?它可能不会传递命令行参数。 – WiredPrairie

+0

AFAIK这是一个二进制文件,包含节点二进制文件 –

+0

,如果您确认它是('where slc')...您可能需要联系StrongLoop。我可以问你为什么要手动调用垃圾回收器吗? – WiredPrairie

slc run没有通过它的参数节点,所以不使用它,只是使用node。你不会失去任何东西,slc run没有任何特殊的东西。

slc run被设想为围绕常见Node.js工具(node,npm,node-inspector等)的包装,以简化人们的交互,因此他们不必了解多个工具。事实证明,人们对多种工具都很满意,有时这会让事情变得更加困难。

(我是slc/strong-cli维护者,顺便说一句)

+0

感谢Sam,我认为这对我的应用程序运行至关重要:) –