2013-12-09 56 views
2

我們試圖將垃圾回收器調用到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

回答

3

slc run沒有通過它的參數節點,所以不使用它,只是使用node。你不會失去任何東西,slc run沒有任何特殊的東西。

slc run被設想爲圍繞常見Node.js工具(node,npm,node-inspector等)的包裝,以簡化人們的交互,因此他們不必瞭解多個工具。事實證明,人們對多種工具都很滿意,有時這會讓事情變得更加困難。

(我是slc/strong-cli維護者,順便說一句)

+0

感謝Sam,我認爲這對我的應用程序運行至關重要:) –