在Angular项目中的angular.json文件中,可以为构建命名提供模板。可以使用[hash]来添加文件哈希值,以确保文件名的唯一性。
例如,如果将以下内容添加到angular.json文件中:
"projects": {
"my-project": {
"architect": {
"build": {
"options": {
"outputPath": "dist/my-project",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.css"
],
"scripts": []
},
"configurations": {
"production": {
"outputHashing": "all",
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileNames": {
"index": "index.html",
"main": "main.[hash].js",
"polyfills": "polyfills.[hash].js",
"runtime": "runtime.[hash].js",
"styles": "styles.[hash].css",
"scripts": "[name].[hash].bundle.js"
}
}
}
}
}
}
}
在生产环境下构建项目时,文件名将包含哈希值,例如:main.456f3057b96d30ba676e.js。这保证了文件名的唯一性,从而避免了缓存问题。