2013-12-09 3 views
2

Мы пытаемся вызвать сборщик мусора в приложение Node.js.Выложить сборщик мусора в приложении Node.js с поддержкой StrongLoop

В обычном Node.js приложения, это довольно просто, вам нужно всего лишь запустить службу с парами:

node -expose-gc script.js 

И просто позвоните дс в код, если вы хотите, чтобы вызвать сборщик мусора:

Global.gc(); 

Но так как мы переходим к StrongLoop, и мы запускаем приложение с SLC инструмента.

Вопрос: Как я могу указать -expose-дс параметр при запуске приложения с SLC? С помощью следующей команды, вызов дс() терпит неудачу:

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 (узел, npm, узел-инспектор и т. Д.), Чтобы упростить взаимодействие для людей, поэтому им не нужно было бы изучать несколько инструментов. Оказывается, люди удобны с несколькими инструментами, и это иногда просто усложняет ситуацию.

(Я сторонник slc/strong-cli, кстати.)

+0

Спасибо Сэму, я подумал, что это жизненно важно для запуска моего приложения :) –