问题描述
我创建了一个提供 youtube 播放器的 angular 库(节点包)。
包含库的项目还包含一个按预期工作的测试项目。我的库的包包含 peerDependency @types/youtube
,这是打字稿自动完成所需的。要查看测试项目的运行情况:
git clone https://github.com/MintPlayer/mintplayer-ng-youtube-player
cd mintplayer-ng-youtube-player
npm install
npm start -- --open
我现在尝试创建一个新的 Angular 应用程序来测试库。
ng new YoutubeTest --routing=false --style=scss
cd YoutubeTest
npm install --save @mintplayer/ng-youtube-player
然后你可以implement it in the project
app.module.ts(添加 YoutubePlayerModule)
import { NgModule } from '@angular/core';
import { browserModule } from '@angular/platform-browser';
import { YoutubePlayerModule } from '@mintplayer/ng-youtube-player';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],imports: [
browserModule,YoutubePlayerModule
],providers: [],bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<youtube-player [domId]="'player1'" #player1></youtube-player>
app.component.ts
export class AppComponent implements AfterViewInit {
title = 'youtube-test';
@ViewChild('player1') player1!: YoutubePlayerComponent;
ngAfterViewInit() {
this.player1.playVideoById('yFKhgF_vkgs');
}
}
但是当您运行项目 (npm start -- --open
) 时,您会在控制台中收到错误消息,因为 @types/youtube
未安装。我已经尝试将 @types/youtube
作为 devDependency 包含在内,运行 @types/youtube
甚至 npm install
后未安装 npm install --dev
包。这似乎是 npm 过去的改编。我也尝试过作为普通依赖项,但是 angular 告诉您必须明确允许这样做。
我是否可以将 @types/youtube
作为依赖项(或更好的 devDependency)包含在我的库中,以便使用应用程序开发人员不必手动安装它?还是应该是这样的?
npm install --save @example/ng-youtube-player
npm install --save-dev @types/youtube
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)