Как передать опции на узел при использовании babel-node
Babel CLI docs ( https://babeljs.io/docs/usage/cli/):
babel-node [options] [ -e script | script.js ] [arguments]
Но при попытке увеличить выделенную память для узла:
babel-node --max-old-space-size=16384 script.js
аргумент --max-old-space-size=16384
кажется, игнорируется
Знает ли sb, должно ли это работать, а если нет - какой-нибудь обходной путь?
2 ответа
Редактировать: (Juli 2016) Начиная с версии 6.11.4, теперь поддерживаются все варианты. Пример, размещенный в вопросе, работает сейчас.
Babel в версии 6.11.3 пока не поддерживает все варианты v8Flags.
Сам узел поддерживает передачу этих флагов либо с подчеркиванием (--max_old_space_size
) или тире (--max-old-space-size
).
В отличие от этого babel-node поддерживает эти флаги, только если они указаны с подчеркиванием и не поддерживает формат --flag=value
,
Существует открытый запрос, который решает эту проблему. К сожалению, в настоящее время нет обходного пути для указания v8Flags со значениями.
Я использую Babel 7, и это действительно работает.
babel-node --max-old-space-size=16384 script.js
Простой способ проверить это - просто уменьшить размер до 100 КБ, и вам быстро не хватит памяти.
Вы также можете использовать переменную среды для обхода babel-node
необходимость поддерживать флаг все вместе.
NODE_OPTIONS=--max-old-space-size=16384 babel-node [options] [ -e script | script.js ] [arguments]
В моем случае мне нужно было использовать --tls-min-v1.0
но babel-node не знает этого флага.
NODE_OPTIONS=--tls-min-v1.0
сделали свое дело.
Существует ошибка, возможно связанная с узлом v10... v8flags v2 не работает, вам нужно использовать текущие v8flags 3.1.1.
Я использую пряжу для инструментов глобального узла, вот быстрая команда, чтобы сделать быстрое исправление (вероятно, будет переделано на каждом yarl global add
)...
Если используется babel-cli 6 глобальная пряжа, добавьте v8flags rm -rf ~/.config/yarn/global/node_modules/babel-cli/node_modules/v8flags
Вы можете использовать babel 7, но в ваших конфигурациях babel есть много изменений, которые можно сделать глобально add @babel/core @babel/node