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

升级至Angular 15后自定义库模块无法找到求助

Angular 15升级后无法解析自定义库的排查方案

错误信息

Error: Module not found: Error: Can't resolve '@cto_compliance_amf/amf-library' in 'C:\Users\zkafpf7\Documents\MyProjects\amf_ui\src\app'

排查与解决步骤

  • 检查自定义库的package.json配置

    • 确认main、module、typings字段指向编译后的正确文件,Angular 15优先依赖ES模块格式,建议将module字段指向fesm2020或更高版本的输出文件,例如dist/amf-library/fesm2020/amf-library.mjs
    • Node 16+对package exports解析更严格,需配置exports字段明确导出路径:
      "exports": {
        ".": {
          "types": "./dist/amf-library/index.d.ts",
          "esm2020": "./dist/amf-library/fesm2020/amf-library.mjs",
          "module": "./dist/amf-library/fesm2020/amf-library.mjs",
          "main": "./dist/amf-library/amf-library.umd.js"
        }
      }
      
  • 验证Artifactory库包结构

    • 登录Artifactory确认上传的库包包含完整dist目录,编译后的文件路径与库package.json配置一致
    • 检查Jenkins构建脚本,确保使用Angular 15兼容的编译命令(如ng build amf-library --configuration production),Node 16环境下需确认输出格式参数正确
  • 本地项目依赖配置检查

    • 删除本地node_modules和package-lock.json,执行npm install重新拉取Artifactory上的最新库版本
    • 检查项目tsconfig.json中的paths配置,若存在错误指向需修正,或移除不必要的paths让npm自动解析
    • 若库为CommonJS格式,在angular.json的build配置中添加allowedCommonJsDependencies包含该库
  • 确认Node与npm版本兼容性

    • Angular 15要求Node 16.14+/18.x,本地和Jenkins环境需符合版本要求,同时npm版本需匹配(如Node 16对应npm 8.x)
    • 检查Jenkins构建时的npm install命令,确保registry指向Artifactory,避免拉取错误版本的包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:45:24