我正在编写一个 Angular 库,其中包含外部依赖项的功能。
在本示例中,该库包含一个使用
axios
获取数据的服务类。
当我发布库并安装到项目中时,我得到
Error: Module not found: Error: Can't resolve 'axios' in '/node_modules/my-library/fesm2022
。
我知道发生此错误是因为“axios”实际上并未捆绑到我的
dist
文件夹中的代码中。运送所需的所有内容都必须包含在 dist
文件夹中,但我不知道如何解决这个问题。
我在here创建了一个示例存储库。我一直在使用
yalc
来模拟发布包。
yalc
在本地发布的版本上。发布到 NPM 时没有问题。
当您安装具有
axios
作为依赖项的 NPM 包时,您的 node_modules
结构如下所示:
- node_modules
- your-package
- axios
但是,
yalc
不安装依赖项的依赖项。所以 axios 确实是一个缺失的模块。
- .yalc
...
- node_modules
- my-package