Angular执行ng build后文件名自动变更,如何配置阻止该行为?
如何阻止Angular build时给文件名添加随机哈希?
Angular CLI默认给build后的文件名加哈希,是为了实现缓存击穿——让浏览器在文件更新时能识别到新版本,避免加载旧缓存。如果不需要这个功能,通过以下两种方式可以关闭:
1. 修改angular.json永久配置
打开项目根目录下的angular.json,找到projects -> 你的项目名称 -> architect -> build -> options,添加outputHashing字段并设置为none:
"architect": { "build": { "options": { "outputHashing": "none", // 保留其他原有配置... } } }
修改后重新执行ng build,dist目录下的文件就会保持main.js、styles.css这类原始文件名,不会再带随机后缀。
2. 命令行临时关闭
如果只是单次build不想加哈希,不需要修改配置,直接执行带参数的build命令:
ng build --output-hashing none
另外补充:如果之后需要恢复缓存优化,还可以把outputHashing设为以下值:
all:默认值,所有文件都加哈希media:仅图片、字体等媒体文件加哈希bundles:仅JS/CSS bundle文件加哈希
内容的提问来源于stack exchange,提问作者biswas
相关产品推荐
相关产品推荐

