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

angular.json配置的includePaths无法引入node_modules下样式文件如何解决

解决方案

  • 同步配置serve节点的样式预处理参数
    你当前只配置了architect.build.options下的stylePreprocessorOptions,Angular本地开发启动的ng serve命令会读取architect.serve.options下的独立配置,需要将相同的stylePreprocessorOptions配置复制到serve节点下,测试环境需要的话也要同步到test节点。
    完整配置示例:
{
  "projects": {
    "my-project": {
      "root": "",
      "sourceRoot": "src",
      "prefix": "mp",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/selenium-agent-ui",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "stylePreprocessorOptions": {
              "includePaths": [
                "./src/assets",
                "./node_modules/ui-library/assets"
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "stylePreprocessorOptions": {
              "includePaths": [
                "./src/assets",
                "./node_modules/ui-library/assets"
              ]
            }
          }
        }
      }
    }
  }
}
  • 修正导入路径的前缀
    includePaths配置的是Sass查找文件的根目录,你已经将node_modules/ui-library/assets和src/assets加入查找路径,导入时不需要再加assets/前缀,否则Sass会尝试在上述两个目录下再找一层assets子目录,导致路径不匹配。
    正确的导入写法为:
@import "ui-library-folder/ui-library-scss-file";
  • 重启开发服务
    修改angular.json配置后,必须手动停止当前的ng serve进程,重新启动才能让配置生效。

  • 检查大小写与拼写
    确认库名、目录名、文件名的大小写与实际文件完全匹配,类Unix系统对路径大小写敏感,拼写错误也会导致找不到文件。

内容的提问来源于stack exchange,提问作者Noy Oliel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:12:01