Как установить флаги в 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.