Как установить флаги в ember-cli, кроме среды?
В настоящее время возможно:
ember build --environment=production
... и я хотел бы сделать что-то вроде этого:
ember build --environment=production --baseurl=foo
но config/environment.js
получает только значение environment
.
Возможно ли получить значение других параметров, переданных в командной строке?
Ответы
Ответ 1
Вы можете установить переменные среды старомодным способом (export WHATEVER=wee
) из терминала или как часть сборки script, а затем ссылаться на них в Brocfile.js
через node с помощью process.env.WHATEVER
. После этого было бы проблемой, чтобы брокколи делала то, что вам нужно было делать с ними. Вы можете предварительно обработать файлы и заменить строки, например.
... просто предложение. Не уверен, что это то, что вы ищете или нет.
Ответ 2
Похоже, что это недопустимо:
Глядя в node_modules/ember-cli/lib/commands/build.js
, мы видим:
availableOptions: [
{ name: 'environment', type: String, default: 'development' },
{ name: 'output-path', type: path, default: 'dist/' }
],
... и в node_modules/ember-cli/lib/models/command.js
this.availableOptions.forEach(function(option) {
knownOpts[option.name] = option.type;
});
... которые вместе означают, что любые параметры, которые не определены для каждой подкоманды ember
, отбрасываются.
Ответ 3
Вы можете сделать foo=bar ember build
(однако выполнение ember build foo=bar
не работает)
И аргумент доступен через process.env.foo
.