Angular项目中是否可以排除视频文件夹以加快dev模式编译速度?
Angular dev 模式 assets 含大视频文件编译慢解决方案
核心原因
默认ng serve执行时,会扫描、校验并复制assets目录下所有文件到编译缓存目录,视频这类大体积二进制文件会大幅拖慢全量/增量编译速度。
可行解决方案
方案1:dev 配置排除大文件扫描(最便捷)
修改angular.json配置,在开发环境下排除视频文件的资产处理,生产环境保留配置即可:
- 找到
architect > build > configurations > production节点,确保assets配置包含视频目录 - 找到
architect > build > configurations > development节点,覆盖assets配置,排除.mp4等大文件:
"assets": [ "src/favicon.ico", "src/assets", { "glob": "**/*.mp4", "input": "src/assets/video", "output": "assets/video", "ignore": ["**/*"] } ]
方案2:本地代理映射静态资源(不影响开发调试)
本地单独启动静态资源服务托管视频文件,通过Angular代理配置转发视频请求,完全不占用编译资源:
- 进入视频目录执行命令启动本地静态服务:
npx serve -l 8080 - 项目根目录新增
proxy.conf.json配置:
{ "/assets/video/*": { "target": "http://localhost:8080", "secure": false, "pathRewrite": {"^/assets/video" : ""} } }
- 启动dev服务时添加代理参数:
ng serve --proxy-config proxy.conf.json
方案3:源头上移大资源到CDN
如果视频为线上正式资源,直接上传到对象存储/CDN,项目中直接使用CDN地址引用,无需放入项目源码目录,完全规避编译占用。
方案4:开启编译缓存优化
在angular.json中开启全局编译缓存,仅增量编译改动的代码文件,跳过无变更的assets扫描:
"cli": { "cache": { "enabled": true, "path": ".angular/cache" } }
内容的提问来源于stack exchange,提问作者anubis
相关产品推荐
相关产品推荐

