【问题标题】:Angular Element - "failed to resolve only because it was resolved as fully specified"Angular Element - “无法解析,只是因为它已完全指定解析”
【发布时间】:2022-10-07 19:32:43
【问题描述】:

我有一个角度元素(在 nx 工作区中)。当我在另一个角度项目中使用它时,我得到 TypeScript 依赖错误。

由于这些错误,我的元素似乎无法从其主机 node_modules 继承任何依赖项(或使用 peerDependancies)。

屏幕截图显示了将我的 Angular 元素添加到另一个 Angular 应用程序所导致的错误。

../met-libs-nx/dist/libs/core/fesm2015/jomatech-core.mjs:7:0-47 - 错误:找不到模块:错误:无法解析'@angular/fire/ '/Users/omar/Sites/met-libs-nx/dist/libs/core/fesm2015' 中的数据库' 您的意思是“angular-fire-database.js”吗? 重大更改:请求“@angular/fire/database”无法解析,只是因为它已按照完全指定的方式解析 (可能是因为原点是 '.mjs' 文件或 '.js' 文件,其中 package.json 包含 '"type": "module"')。 请求中的扩展是强制性的,以便完全指定。 将扩展名添加到请求中。

我假设我需要以不同的方式构建我的角度元素(模块)依赖项?你需要看什么?

互联网说更新webpack config 是要走的路,但我如何在有角度的环境中做到这一点?

包.json

ng-package.json

tsconfig.lib.json

tsconfig.lib.prod.json

【问题讨论】:

  • 你解决了这个问题吗? @奥马尔
  • @liangqiicai 我很确定在主机应用程序中更新我的角度项目会使错误消失。考虑到这一点;在没有常春藤的情况下构建库可能是解决这个问题的正确方法。虽然我没有测试

标签: angular nrwl-nx angular-elements


【解决方案1】:

进入模块规则添加:

    {
            test: /.m?js/,
            resolve: {
              fullySpecified: false
            }
        },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-28
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 2013-07-09
    • 1970-01-01
    相关资源
    最近更新 更多