使用命令行参数设置环境变量

时间:2017-03-05 09:58:31

标签: parameters aurelia aurelia-cli

是否可以使用命令行参数传递环境变量的值?

E.g。我想设置一个由我的构建服务器生成的版本号:

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 pages

2 个答案:

答案 0 :(得分:0)

目前还不可能。这可能是一种增强的道路。我建议您在此处提交增强请求:https://github.com/aurelia/cli/issues/new

答案 1 :(得分:0)

作为proposed by 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