我想在我的Angular2应用程序的某个地方有一个时间戳或内部版本号,这样我就可以判断用户是否使用旧的缓存版本.
如何在AOT编译/构建时使用Angular2中的AngularCLI执行此操作?
>安装
plugin npm install replace-in-file –save-dev
>添加到prod环境src / environments / environment.prod.ts new
属性
原文链接:https://www.f2er.com/angularjs/143871.html>添加到prod环境src / environments / environment.prod.ts new
属性
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}永远不会被提交.