Angular构建时node_modules文件未复制到assets目录求助
问题排查与解决方案
1. 跨平台命令兼容性问题
你使用的copy是Windows CMD专属命令,如果在Git Bash、WSL、macOS/Linux终端执行,该命令会无效且无报错(终端无法识别copy但不会终止脚本)。解决方法:
- 安装跨平台文件复制工具
copyfiles:npm install copyfiles --save-dev - 修改
package.json中的copy-assets命令:
其中"copy-assets": "copyfiles -u 3 node_modules/ngx-extended-pdf-viewer/assets/images/**/* src/assets/images"-u 3表示忽略路径前3级,仅将images下的内容复制到目标目录。
2. 路径匹配与复制范围问题
原命令未使用通配符,仅指定目录路径可能只复制目录结构而非内部文件。即使在Windows环境下,也建议添加通配符确保覆盖所有文件:
"copy-assets": "copy node_modules/ngx-extended-pdf-viewer/assets/images/* src/assets/images"
若需要递归复制子目录文件,Windows CMD下可改用xcopy:
"copy-assets": "xcopy node_modules/ngx-extended-pdf-viewer/assets/images src/assets/images /E /I /Y"
/E表示复制所有子目录,/I假设目标为目录,/Y覆盖文件不提示。
3. 验证源路径正确性
手动检查node_modules/ngx-extended-pdf-viewer/assets/images是否存在,部分包的资源路径可能有变动(比如实际是node_modules/ngx-extended-pdf-viewer/lib/assets/images),路径错误会导致复制命令无效果。
4. 单独执行复制命令排查
直接运行npm run copy-assets,查看终端输出日志,隐藏的权限、路径不存在等错误会在这里显示,比通过npm start间接执行更容易定位问题。
内容的提问来源于stack exchange,提问作者SimonD
相关产品推荐
相关产品推荐

