我们正在尝试将垃圾收集器调用到Node.js应用程序中。
在常规的Node.js应用中,这非常简单,您只需要使用参数运行您的服务:
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'
似乎忽略了run标志
答案 0 :(得分:3)
slc run
未将其参数传递给节点,因此请勿使用它,只需使用node
即可。你不会丢失任何东西,slc run
没有任何特殊的东西。
slc run
被设想为常见Node.js工具(node,npm,node-inspector等)的包装器,以简化人们的交互,因此他们不必了解多个工具。事实证明,人们对多种工具感到满意,有时候只会让事情变得更难。
(我是slc / strong-cli维护者,顺便说一下。)