You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:55:57