Angular: 在自定义 angular 库中包含第三方依赖
Angular: Include third party dependency in custom angular library
我正在尝试使用 ng generate library ts-utils
命令将库创建为 npm 包
此库在库的 peerDependencies
部分中使用了名为 memoizee, where we include the library and its respective @types 的依赖项。
注意: 我的包中没有其他地方仅在 package.json
中引用这些依赖项
{
"name": "@heanfig/ts-utils",
"version": "1.0.1",
"description": "Plugin for TypeScript to support custom decorators and functions",
"peerDependencies": {
"@angular/common": "^13.2.0",
"@angular/core": "^13.2.0",
"@types/memoizee": "^0.4.7",
"memoizee": "^0.4.15"
},
"dependencies": {
"tslib": "^2.3.0"
},
...
}
当我尝试生成库并将其发布到 npmjs 时,它没有产生任何问题,
当我尝试通过在需要它的项目中安装它来使用它时,它会生成类似这样的警告:
Warning: /Users/hermanfigueroaidarraga/Desktop/@hf/ts-utils-demo/dist/ts-utils/fesm2015/heanfig-ts-utils.mjs depends on 'memoizee'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
另外它告诉我 memoizee
是 undefined
,当我去检查我安装依赖项的项目时,在 node_modules
文件夹中有两个 memoizee 及其 类型
显然存在模块、commonJS 或 umd 类型错误,但无法确定此错误的确切原因,因为我的包找不到依赖项,知道它已正确安装在 node_modules 目录中各自类型
感谢关注
memoizee
及其类型应进入您图书馆的 dependencies
部分。
对等依赖项旨在通过插件进行扩展(例如 @angular/...
依赖项,因为它们是扩展的目标)请参阅此处的文档 https://nodejs.org/es/blog/npm/peer-dependencies/
我正在尝试使用 ng generate library ts-utils
命令将库创建为 npm 包
此库在库的 peerDependencies
部分中使用了名为 memoizee, where we include the library and its respective @types 的依赖项。
注意: 我的包中没有其他地方仅在 package.json
中引用这些依赖项{
"name": "@heanfig/ts-utils",
"version": "1.0.1",
"description": "Plugin for TypeScript to support custom decorators and functions",
"peerDependencies": {
"@angular/common": "^13.2.0",
"@angular/core": "^13.2.0",
"@types/memoizee": "^0.4.7",
"memoizee": "^0.4.15"
},
"dependencies": {
"tslib": "^2.3.0"
},
...
}
当我尝试生成库并将其发布到 npmjs 时,它没有产生任何问题,
当我尝试通过在需要它的项目中安装它来使用它时,它会生成类似这样的警告:
Warning: /Users/hermanfigueroaidarraga/Desktop/@hf/ts-utils-demo/dist/ts-utils/fesm2015/heanfig-ts-utils.mjs depends on 'memoizee'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
另外它告诉我 memoizee
是 undefined
,当我去检查我安装依赖项的项目时,在 node_modules
文件夹中有两个 memoizee 及其 类型
显然存在模块、commonJS 或 umd 类型错误,但无法确定此错误的确切原因,因为我的包找不到依赖项,知道它已正确安装在 node_modules 目录中各自类型
感谢关注
memoizee
及其类型应进入您图书馆的 dependencies
部分。
对等依赖项旨在通过插件进行扩展(例如 @angular/...
依赖项,因为它们是扩展的目标)请参阅此处的文档 https://nodejs.org/es/blog/npm/peer-dependencies/