Angular 17如何完全禁用构建缓存?
禁用Angular构建缓存以调试本地StencilJS依赖
你遇到的问题是Angular的.angular/cache缓存机制会缓存node_modules中的StencilJS依赖文件,导致修改本地开发的StencilJS项目后无法实时生效,必须删除缓存文件夹才能看到更新。以下是几种解决方法:
启动开发服务器时临时禁用缓存
直接在启动命令中添加--no-cache参数,每次启动都会跳过缓存,重新构建所有资源:ng serve --no-cache全局配置永久禁用缓存
打开项目根目录的angular.json文件,找到对应项目的build和serve配置项,在options中添加"cache": false:"projects": { "你的项目名称": { "architect": { "build": { "options": { "cache": false, // 保留原有其他配置 } }, "serve": { "options": { "cache": false, // 保留原有其他配置 } } } } }配置后,无论是构建项目还是启动开发服务器,都会完全跳过缓存机制。
精细化监控依赖(替代完全禁用缓存)
如果不想完全禁用所有缓存(缓存能提升大部分场景的构建速度),可以让Angular监控本地StencilJS依赖的文件变化。在angular.json的serve -> options中添加watchOptions配置:"serve": { "options": { "watchOptions": { "ignored": ["!**/node_modules/你的StencilJS包名/**"] } } }配置后,Angular会监听该依赖包内的文件变化,自动重新构建相关部分,既保留了其他资源的缓存,又能实时看到StencilJS依赖的修改效果。
内容的提问来源于stack exchange,提问作者Jeanluca Scaljeri
相关产品推荐
相关产品推荐

