如何解决如何解决错误:目标入口点“my-custom-NPM-package”缺少依赖项:-@angular/material/dialog
我已经创建了我的第一个自定义 NPM 包并将其发布在 NPM 上。当我安装我的包时出现错误:
错误:目标入口点“ts-idle-timeout”缺少依赖项:-@angular/material/dialog
我阅读了 this link 并尝试将 val x = ....
val y = ....
(x,y) match {
case (Some(number),Some(text)) => {
......
}
case (Some(number),None) => {
......
}
case (_,_) => () // do nothing
}
添加到 package.json 但出现错误:
npm 错误! 400 错误请求 - PUT https://registry.npmjs.org/ts-idle-timeout - "peerDependencies" dep "@angular/material/dialog" 不是有效的依赖项名称。
下面我添加了所有我认为是相关的代码。您将能够看到我的入口组件确实调用了一个服务,而该服务又依赖于 @angular/material/dialog
。
我读过一些建议在消费应用程序中运行 @angular/material/dialog
的线程。我不认为这对我的情况是必要的,并且真的想要一个在 npm i SOME_MISSING_PACKAGE
运行后“正常工作”的包
老实说,创建 NPM 包的整个过程对我来说并没有“点击”,我不明白为什么我会收到缺少依赖项的错误。我需要添加什么来解决这个问题?
public-api.ts
npm i
idleTimeout/projects/ts-idle-timeout/package.json
export * from './lib/ts-idle/services/idle-timer.service';
export * from './lib/ts-idle/idle/ts-idle.component' ;
export * from './lib/ts-idle/ts-idle.module';
idleTimeout/package.json
{
"name": "ts-idle-timeout","version": "0.0.1","peerDependencies": {
"@angular/common": "^11.0.9","@angular/core": "^11.0.9","@angular/material": "^11.2.6"
},"dependencies": {
"tslib": "^2.0.0"
}
}
TsIdleModule
{
"name": "idle-timeout","version": "0.0.0","scripts": {
"ng": "ng","start": "ng serve","build": "ng build","test": "ng test","lint": "ng lint"
},"private": true,"dependencies": {
"@angular/animations": "^11.0.9","@angular/cdk": "^12.0.1","@angular/common": "~11.0.9","@angular/compiler": "~11.0.9","@angular/core": "~11.0.9","@angular/forms": "~11.0.9","@angular/material": "^12.0.1","@angular/platform-browser": "~11.0.9","@angular/platform-browser-dynamic": "~11.0.9","@angular/router": "~11.0.9","rxjs": "~6.6.0","tslib": "^2.0.0","zone.js": "~0.10.2"
},"devDependencies": {
"@angular-devkit/build-angular": "~0.1100.7","@angular/cli": "~11.0.7","@angular/compiler-cli": "~11.0.9","@types/jasmine": "~3.6.0","@types/node": "^12.11.1","codelyzer": "^6.0.0","jasmine-core": "~3.6.0","jasmine-spec-reporter": "~5.0.0","karma": "~5.1.0","karma-chrome-launcher": "~3.1.0","karma-coverage": "~2.0.3","karma-jasmine": "~4.0.0","karma-jasmine-html-reporter": "^1.5.0","ng-packagr": "^11.0.0","protractor": "~7.0.0","ts-node": "~8.3.0","tslint": "~6.1.0","typescript": "~4.0.2"
}
}
TsIdleComponent
@NgModule({
declarations: [TsIdleComponent],imports: [
CommonModule,MatDialogModule
],exports: [TsIdleComponent]
})
export class TsIdleModule {
public static forRoot(config: any): ModuleWithProviders<TsIdleModule> {
return {
ngModule: TsIdleModule,providers: [
IdleService,{ provide: 'config',useValue: config}
]
};
}
}
DialogConfirmService
...other imports...
import { DialogConfirmService } from '../../dialog/dialog-confirm/services/dialog-confirm.service';
...other imports...
@Component({
selector: 'ts-idle',template: ``
})
export class TsIdleComponent implements OnInit,OnDestroy {
constructor(
private _idleService: IdleService,private _dialogConfirmService: DialogConfirmService) { }
...other code...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。