我正在开发Angular 6应用,并且开发需要在一个非常自定义的浏览器中进行,该浏览器具有非常激进的缓存策略,而且我无法更改。
问题是浏览器缓存了runtime.js
,main.js
等...
我知道我可以使用ng serve --prod
来使Angular生成诸如runtime.a79af62d1feed345ccb6.js
之类的唯一脚本名称,这可以解决我的缓存问题,但是它也很慢。
所以问题是:
有没有一种方法可以激活唯一脚本名称的生成而没有--prod
选项的缺点?
也许通过angular.json
文件。
答案 0 :(得分:2)
好的,我找到了方法。
我在"outputHashing": "all"
文件的projects
> my-app
> architect
> build
部分中添加了angular.json
属性。
{
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/my-app",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.png",
"src/assets"
],
"styles": [
"node_modules/bootstrap/scss/bootstrap.scss",
"src/scss/styles.scss"
],
"scripts": [],
"outputHashing": "all" <--- Relevant line
},
"configurations": { ... },
}