微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

角度库:自动安装@types/youtube

如何解决角度库:自动安装@types/youtube

我创建了一个提供 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

The angular app in the same repository is working fine

我现在尝试创建一个新的 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 举报,一经查实,本站将立刻删除。