Gulp with Angular 2 Environment变量

时间:2016-04-14 07:21:30

标签: typescript gulp angular

如何使用Gulp传递参数Angular-2脚本?为了Angular-2可以在启动时获得此变量的值。 开始gulp是关于:gulp start --type=dev并且Angulyar-2可以得到变量的值"输入"

1 个答案:

答案 0 :(得分:0)

这取决于您使用哪种工具编译 TypeScript。

如果使用gulp-webpack或webpack-stream进行编译,请使用DefinePlugin,它完全符合您的要求。

如果您正在使用gulp-typescript,gulp-ts或gulp-typescript-compiler等gulp插件,那么您可以使用gulp-replacegulp-preprocess模拟变量注入。另请检查此answer,您可以以类似的方式生成TypeScript配置。

声明全局var(如有必要,添加* .d.ts文件):

export interface IConfig {param:boolean}
declare var config:IConfig;

在你的gulp任务中:

var config = {};
if(process.argv.indexOf('--name') > -1){
    config.param = true;
}
else {
    config.param = false;
}

fs.writeFileSync('path../config.js', 'var config='+JSON.stringify(config));

使用config.js代码导入<script>