Angular 5 - 在全局范围内调用函数



>我想在IonicFramework应用程序中使用视频.js我正在使用Angular构建。我尝试通过npm安装它,但是如果我尝试导入,TypeScript 无法识别任何可导入的模块,并且我找不到有关在 TS/ES6 应用程序中使用它的正确文档。

我所做的是尝试像任何js库一样使用它。我已经在我的index.html文件中包含了视频.js脚本:

<script src="assets/js/video_v6_6_3.js"></script>

我查看了内部,它的作用是在全局范围内声明一个名为 videojs 的函数(我不喜欢它 - 但这就是它的编写方式(。

在我的应用程序中,我尝试在ngAfterViewInit方法调用中调用此函数,如下所示:videojs(this.videoId); 。但是 TypeScript 在运行时会抛出异常:

Typescript Error
Cannot find name 'videojs'.

有没有办法包装这样的库,以便它们适合 Angular 导入?或者也许让 TypeScript 接受这种方法并且不抛出错误?我已经搜索过,但找不到有关这种情况的任何信息。

要使打字稿停止抱怨,您可以将其声明为 any

declare const videojs: any;

或者您可以尝试像这样导入它(未经测试(:

import * as videojs from 'videojs';

最新更新