我正在使用angular创建一个自定义库,以便可以在该库中创建组件,这些组件将在以后的许多应用程序中重复使用。我从创建一些组件和几个服务开始。其中一项服务需要oidc-client
的依赖关系。因此,在我的库中,我运行了npm install oidc-client
。依赖项已添加到我的库package.json
dependencies
下。我开始遇到错误,阅读了一些文档,发现它实际上应该在我的库package.json的peerDependencies
部分下,而不是dependencies
部分下。
我的文件夹/文件布局是
./
../
.editorconfig
.gitignore
angular.json
dist/
node_modules/
package.json
package-lock.json
projects/
projects/my-lib/
projects/my-lib-runner/
README.md
tsconfig.base.json
tsconfig.json
tslint.json
我要测试运行库的工作是
ng build my-lib --watch
在一个终端中,然后在另一个终端中运行
ng serve my-lib-runner
运行-runner
时就是出现此错误的时间
ERROR in dist/my-lib/lib/core/services/auth.service.d.ts:2:22 - error TS2307: Cannot find module 'oidc-client' orr its corresponding type declarations.
2 import { User } from 'oidc-client';
然后是package.json
的{{1}}
projects/my-lib/
我认为,作为同级依赖,引用该库的项目将自动在{
"name": "my-lib",
"version": "0.0.1",
"peerDependencies": {
"@angular/common": "^10.0.14",
"@angular/core": "^10.0.14",
"@angular/material": "^10.2.2",
"@angular/flex-layout": "^10.0.0-beta.32",
"oidc-client": "^1.10.1",
"tslib": "^2.0.0"
}
}
上下载必要的程序包,或者将其包含在npm install
中。
我在做什么错了?