发布具有外部依赖项的 Angular 库

问题描述 投票:0回答:1

我正在编写一个 Angular 库,其中包含外部依赖项的功能。

在本示例中,该库包含一个使用

axios
获取数据的服务类。

当我发布库并安装到项目中时,我得到

Error: Module not found: Error: Can't resolve 'axios' in '/node_modules/my-library/fesm2022

我知道发生此错误是因为“axios”实际上并未捆绑到我的

dist
文件夹中的代码中。运送所需的所有内容都必须包含在
dist
文件夹中,但我不知道如何解决这个问题。

我在here创建了一个示例存储库。我一直在使用

yalc
来模拟发布包。

angular typescript node-modules angular-library npm-package
1个回答
0
投票

事实证明这与 Angular 无关。这发生在我用

yalc
在本地发布的版本上。发布到 NPM 时没有问题。

当您安装具有

axios
作为依赖项的 NPM 包时,您的
node_modules
结构如下所示:

- node_modules
  - your-package
  - axios

但是,

yalc
不安装依赖项的依赖项。所以 axios 确实是一个缺失的模块。

- .yalc
...
- node_modules
 - my-package
© www.soinside.com 2019 - 2024. All rights reserved.