Angular CLI多应用仓库构建后资源路径配置问题
解决Angular CLI多应用构建时资源路径异常的问题
没问题,这个需求完全可以通过Angular CLI的配置来实现!你的问题本质是Angular默认会按照源代码的目录结构复制资源文件,导致构建后带上了app/first-app的层级。下面给你两种可行的配置方案,你可以根据自己的项目结构选择:
方案一:调整应用根目录(推荐)
把first-app的根目录直接指定为app/first-app,这样Angular会把该目录下的assets直接输出到构建目录的根路径:
"apps": [ { "name": "first-app", "outDir": "dist/first-app", "root": "app/first-app", // 核心:将应用根目录指向你的first-app文件夹 "assets": ["assets"], // 相对于root的资源路径,构建后会输出到dist/first-app/assets "main": "main.ts", // 注意这里的main路径要对应root下的文件,比如app/first-app/main.ts "polyfills": "polyfills.ts", "tsconfig": "tsconfig.app.json", // 其他配置项... }, // 第二个应用的配置 ]
这种方式不仅能解决资源路径问题,还能简化组件的导入路径,让项目结构更清晰。
方案二:单独指定资源的输入输出路径
如果不想调整应用根目录,可以在assets配置里明确指定资源的来源和目标路径:
"apps": [ { "name": "first-app", "outDir": "dist/first-app", "assets": [ {"input": "app/first-app/assets", "output": "assets"}, // 核心:将指定路径的资源输出到dist的assets目录 "favicon.ico" // 别忘了保留其他默认资源(如果有的话) ], // 其他配置项... } ]
验证方法
配置完成后,运行构建命令:
ng build --project first-app
打开dist/first-app目录,你就能看到assets/i18n直接出现在根目录下,而不是嵌套在app/first-app里了。
内容的提问来源于stack exchange,提问作者User_111
相关产品推荐
相关产品推荐

