14
我想在我的Angular2應用程序的某處添加時間戳或內部版本號,以便我可以判斷用戶是否使用舊的緩存版本。如何在構建時在AngularCLI中插入內部版本號或時間戳
我可能會想到它,但是有沒有一種簡單的方法可以在AOT編譯/編譯時使用Angular2中的AngularCLI完成此操作?
感謝
我想在我的Angular2應用程序的某處添加時間戳或內部版本號,以便我可以判斷用戶是否使用舊的緩存版本。如何在構建時在AngularCLI中插入內部版本號或時間戳
我可能會想到它,但是有沒有一種簡單的方法可以在AOT編譯/編譯時使用Angular2中的AngularCLI完成此操作?
感謝
npm install replace-in-file
--save-dev的添加督促環境的src /環境/ environment.prod.ts新 財產
export const environment = {
production: true,
version: '{BUILD_VERSION}'
}
添加構建文件replace.build.js
到您的文件夾的根目錄
var replace = require('replace-in-file');
var buildVersion = process.argv[2];
const options = {
files: 'src/environments/environment.prod.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);
}
添加腳本的package.json
"updateBuild": "node ./replace.build.js"
使用environment.version
在您的應用程序
構建呼叫npm run updateBuild -- 1.0.1
PS之前。您必須始終記住{BUILD_VERSION}永遠不會被提交。
PS。我寫了一個更好的解決方案my blog
謝謝,這就是我一直在尋找的。一些很好的增強功能是生成時間戳或自動增量內部編號(而不必輸入它)。 – Rodney
@Rodney我其實只是想過。將做到這一點,並寫在我的博客:) –
@VolodymyrBilyachat在environment.prod.ts使用雙引號生成版本的原因問題 – rpmansion