Angular执行ng build --prod时Assets未复制到dist文件夹求助
解决Angular 5构建时Assets文件夹未复制到Dist目录的问题
根据你提供的环境和配置信息,我整理了几个针对性的解决方案,你可以逐一尝试:
1. 确认Assets文件夹的实际路径
你的.angular-cli.json中root设置为src,所以assets数组里的"assets"对应的路径是src/assets。请检查:
- 你的
assets文件夹是否确实放在src目录下,而非项目根目录或其他位置 - 文件夹名称是否完全匹配(Windows虽不区分大小写,但CLI可能会严格校验名称)
2. 清理缓存并重新构建
Angular CLI的缓存偶尔会导致资源复制异常,你可以按以下步骤操作:
- 手动删除项目根目录下的
dist文件夹 - 执行CLI缓存清理命令:
ng cache clean(Angular CLI 1.x版本支持该命令) - 重新执行生产构建:
ng build --prod
3. 检查.angular-cli.json的完整配置
确保你的配置没有被其他节点覆盖,完整的apps节点配置应该类似这样:
"apps": [ { "root": "src", "outDir": "dist", "assets": [ "assets", "favicon.ico" ], // 其他配置项(如styles、scripts等)... } ]
确认没有在环境特定配置或其他分支中修改了assets数组。
4. 测试非生产模式构建
先尝试执行ng build(不带--prod参数),观察assets文件夹是否能正常复制到dist目录:
- 如果非生产模式正常,说明可能是生产模式下的优化配置导致问题,可以检查
src/environments/environment.prod.ts是否有影响资源复制的设置 - 如果非生产模式也异常,那大概率是基础路径或配置格式问题
5. 检查Windows文件权限
Windows系统下,权限不足可能导致CLI无法复制文件:
- 确保你拥有
src/assets文件夹的读取权限,以及dist文件夹的写入权限 - 尝试以管理员身份打开命令提示符/终端,再执行构建命令
内容的提问来源于stack exchange,提问作者LMDev
相关产品推荐
相关产品推荐

