Установите переменную среды, используя аргументы командной строки
Можно ли передавать значения для переменных среды, используя аргументы командной строки?
Например, я хотел бы установить номер версии, который генерируется моим сервером сборки:
aurelia_project / сред / prod.ts
export default {
debug: false,
testing: false,
// $buildVersion$ should be replaced during build with the actual value
buildVersion: $buildVersion$
};
Воображаемая команда: au build --env prod --buildVersion 1.1.1
редактировать
Поскольку сейчас это кажется невозможным, я создал запрос на функции на страницах Aurelias GitHub.
2 ответа
Решение
По предложению AStoker мне удалось решить это следующим образом:
aurelia_project / сред / prod.ts
export default {
debug: false,
testing: false,
buildVersion: {buildVersion} // <-- Will be replace during build
};
aurelia_project / transpile.js
// ...
import * as replace from 'gulp-replace';
function configureEnvironment() {
let env = CLIOptions.getEnvironment();
let buildVersion = CLIOptions.getFlagValue('buildVersion') || '0.0.0';
return gulp.src(`aurelia_project/environments/${env}.ts`)
.pipe(changedInPlace({firstPass: true}))
.pipe(replace('{buildVersion}', buildVersion)) // <-- Replacement happens here
.pipe(rename('environment.ts'))
.pipe(gulp.dest(project.paths.root));
}
// ...
Вызов командной строки: au build --buildVersion 1.1.1
В настоящее время это невозможно. Это может быть улучшение в будущем. Я бы рекомендовал подать запрос на улучшение здесь: https://github.com/aurelia/cli/issues/new