Bla*_*ake 7 angular-cli angular
我有一个angular-cli应用程序(角度版本4.0.0).我希望能够在从cli创建的environment.ts文件中访问我的环境变量.
例:
export SOME_VARIABLE=exampleValue
Run Code Online (Sandbox Code Playgroud)
当我构建我的角度应用程序时,我想在"SOME_VARIABLE"字段中填充"exampleValue".
// environment.ts
export const environment = {
production: false,
SOME_VARIABLE: process.env.SOME_VARIABLE
};
Run Code Online (Sandbox Code Playgroud)
不幸的是,process.env在此文件中不可用.我怎样才能访问它?
解决此问题的一种方法是创建一个节点脚本来替换占位符。
这可以通过 npm 中的replace-in-file来完成。
解决方案可以如下所示:
npm install 在文件中替换 --save-dev
创建占位符
export const environment = {
production: true,
version: '{BUILD_VERSION}'
}
Run Code Online (Sandbox Code Playgroud)创建节点脚本来替换占位符(根文件夹中的replace.build.js)
var replace = require('replace-in-file');
var buildVersion = process.env.BUILD_NUMBER;
const options = {
files: 'environments/environment.ts',
from: /{BUILD_VERSION}/g,
to: buildVersion,
allowEmptyPaths: false,
};
try {
let changedFiles = replace.sync(options);
console.log('Build version set: ' + buildVersion);
}
catch (error) {
console.error('Error occurred:', error);
}
Run Code Online (Sandbox Code Playgroud)在构建过程中执行此节点脚本 fe in gulp
gulp.task('updateVersion', function (done) {
exec('node ./replace.build.js', function (err, stdout, stderr) {
console.log(stdout);
console.log(stderr);
done();
});
});
Run Code Online (Sandbox Code Playgroud)现在您可以在您的应用程序中使用environment.version。
| 归档时间: |
|
| 查看次数: |
3010 次 |
| 最近记录: |