需要在 Angular 2 中使用 youtube-iframe-api 的 youtube.d.ts 文件

2024-02-16

我尝试使用YouTube iframe API https://developers.google.com/youtube/iframe_api_reference?hl=de用于通过平滑的 Angular2 集成来显示和控制视频片段。尊重 typescript 的类型概念对于 webpack 编译器和我来说很重要:)。

我的测试的快速设置:

use @角/cli https://cli.angular.io/(版本 1.0.0-beta.32.3)设置并安装ng2-youtube-播放器 https://www.npmjs.com/package/ng2-youtube-player然后进行两个小调整:

ng new test002
cd test002
npm install ng2-youtube-player --save-dev

app.module 根据以下内容进行了扩展ng2-youtube-播放器 https://www.npmjs.com/package/ng2-youtube-player,但在 app.component 中我有一个小修正和一个错误:

import { Component } from '@angular/core';

@Component({
    selector: 'app-root',// app renamed to app-root
    template: `
        <youtube-player
      [videoId]="id"
      (ready)="savePlayer($event)"
      (change)="onStateChange($event)"
    ></youtube-player>
    `
})
export class AppComponent {
  player: YT.Player;// Error: Cannot find namespace 'YT'
  private id: string = 'qDuKsiwS5xw';

    savePlayer (player) {
    this.player = player;
    console.log('player instance', player)
    }
  onStateChange(event){
    console.log('player state', event.data);
  }
}

对于该错误,我使用 youtube.d.ts 文件伪造了名称空间:

// dummy namespace...
export as namespace YT;

export interface Player {
    name: string;
    length: number;
    extras?: string[];
}

现在使用 ngserve webpack 编译时不会出现错误,即使其中存在未知的 YTng2-youtube-播放器 https://www.npmjs.com/package/ng2-youtube-player包裹。

在互联网上进行大量搜索后,我的问题是:有人可以提供正确的 .d.ts 文件或告诉我如何找到答案吗?


这将安装 YouTube 的 TypeScript 类型iframe:

使用纱线:

yarn add @types/youtube

Or NPM:

npm install @types/youtube

正如@TaeKwonJ​​oe 在下面指出的那样,@types/youtube安装后,将以下内容添加到您的项目中tsconfig.json under compilerOptions:

"typeRoots": [
    "node_modules/@types"
],
"types": [ "youtube" ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要在 Angular 2 中使用 youtube-iframe-api 的 youtube.d.ts 文件 的相关文章

随机推荐

  • 厨师刀命令 404 未找到

    我正在尝试使用 Chef 我按照他们提供的所有步骤 使用您的硬件安装和配置 Chef 服务器 我已从工作站运行以下命令 knife SSL check Output 连接到主机 my server 443已成功验证来自 my server
  • 如何使用@DbRef注释引用GridFSFile(spring data mongodb)

    我有一个春天 Documentobject Profile 我想像这样引用 GridFSFile DbRef private GridFSFile file 该文件被写入另一个集合类型GridFS 我总是有一个java lang Stack
  • GridView 自动将行高设置为最高的网格项

    标题是我想要实现的目标的简化版本 一个 GridView 它根据我提供的原型网格项自动设置行高 原型项目是最高的可能项目 例如 如果网格项目包含文本 则原型将包含最长的可能文本 一种可能的解决方法是使用 ListView 其中每一行都包含在
  • ctypes 指向 numpy 数组中间的指针

    我知道如何获取指向 numpy 数组开头的 ctypes 指针 a np arange 10000 dtype np double p a ctypes data as POINTER c double p contents c doubl
  • keras 规范化轴参数有什么作用?

    我是深度学习的初学者 正在 keras 中处理 mnist 数据集 我使用归一化作为 tf keras utils normalize x train axis 1 我不明白轴参数是什么意思 你能帮我解决这个问题吗 Normalize 函数
  • 如何使用 pyspark 计算 apache Spark 数据帧的大小?

    有没有办法使用 pyspark 计算 Apache Spark 数据帧的大小 以字节为单位 为什么不缓存 df 然后在存储下查看 Spark UI 并将单位转换为字节 df cache
  • Google Drive Api - 使用实体框架自定义 IDataStore

    我实现了我的自定义IDataStore这样我就可以存储最终用户令牌 on my database而不是默认的实现 它保存在文件系统在 AppData 内 public class GoogleIDataStore IDataStore pu
  • 在没有脚本标签的情况下执行 XSS JavaScript

    我正在学习 XSS 出于道德目的 我想知道如何在不使用
  • AngularJS:使用 ng-repeat 保留插入顺序

    我正在使用 ng repeat 实现自动完成系统 基本上 我有一个提供 ng repeat 的对象数组 我注意到 当我将新内容插入数组时 插入顺序不会保留 例如 广告订单 A B C ng 重复渲染顺序 甲 丙 乙 A B C 中的每一个都
  • 如何在 LINQ 中选择所有字段以及一些新字段?

    我收到了 RDLC 报告 SQL DB 中存储的日期格式是格鲁吉亚语 我想在报告中将日期显示为波斯语 使用 Linq 我想选择数据库的所有字段以及一些用作波斯日期字段的新字段 我使用以下语法 var invoices from invoic
  • 如何用Vagrant处理Mysql、网站源等数据?

    如何使用 Vagrant 处理 Mysql 网站源等数据 作为一名程序员 我喜欢能够轻松设置开发环境 因此 我创建了一个流浪盒子并为其配置了木偶 但我问自己 盒子中的数据怎么样 如果我需要销毁盒子并重新创建它会怎样 我的所有数据都将被删除
  • Chrome 中的引导模式问题

    我的 asp net mvc 代码中有一个引导模式 它在运行时进行主体绑定 第一次我单击某些按钮并且模态工作良好 通过 jquery ajax 从控制器返回主体 然后必须动态改变模型的主体 它也很好用 通过 jquery Ajax 和 js
  • 如何实现以下C++输出格式?

    我希望按照以下规则打印出 double 1 No scietific notation 2 Maximum decimal point is 3 3 No trailing 0 例如 0 01 formated to 0 01 2 1234
  • 在 Android 上使用 firebase 发送好友请求

    我正在从 Parse 迁移到 Firebase 我的 sendRequest 函数执行以下任务 假设user1向user2发送请求 检查用户名是否存在 检查user1是否尚未向user2发送请求 检查user1和user2是否还不是朋友 一
  • Jenkins Pipeline - 阅读前一阶段日志

    考虑一个有两个阶段的 Jenkins Pipeline Stage A then Stage B 在阶段 B 中 是否可以解析阶段 A 的日志中的某些特定文本 Use tee将输出拆分为标准输出和文件 接下来解析文件中的文本 STAGE A
  • 如何使用Microsoft Graph Client SDK(C#)重置密码?

    用户如何使用 Microsoft Graph 客户端重置密码 我无法找到正确的方法来做到这一点 谢谢 汤姆关于委托范围的说法是正确的Directory AccessAsUser All允许登录用户更改密码 标准User ReadWrite可
  • 将字典列表转换为 tf 数据集

    我有一本已经完全预处理的字典 可以输入到 BERT 模型中 然而 我很难将其放入 tf dataset 中 这就是我的数据集的一个元素 print dataset 0 input ids
  • Tensorflow:tf.nn.separable_conv2d 是做什么的?

    我不太确定 tf nn separable conv2d 到底做了什么 看来pointwise filter是生成下一层的一个像素时针对不同特征的缩放因子 但我不确定我的解释是否正确 这个方法有什么参考吗 有什么好处 tf nn separ
  • 在新的 @material-ui/core 中使用 withStyles 和 Typescript

    我正在尝试将一些使用material ui next的旧Typescript更新为新的 material ui core Typescript Version 2 8 3 material ui core 1 1 0 我已经实现了一个非常简
  • 需要在 Angular 2 中使用 youtube-iframe-api 的 youtube.d.ts 文件

    我尝试使用YouTube iframe API https developers google com youtube iframe api reference hl de用于通过平滑的 Angular2 集成来显示和控制视频片段 尊重 t