Dan*_*ich 6 node.js typescript twitch angular
我正在尝试在 Angular 中设置一种仅在流在线时显示 Twitch 播放器的方式,因此在文档中有此内联 HTML:
<script src= "https://player.twitch.tv/js/embed/v1.js"></script>
<div id="<player div ID>"></div>
<script type="text/javascript">
var options = {
width: <width>,
height: <height>,
channel: "<channel ID>",
video: "<video ID>",
collection: "<collection ID>",
};
var player = new Twitch.Player("<player div ID>", options);
player.setVolume(0.5);
</script>
Run Code Online (Sandbox Code Playgroud)
当然,虽然在 Angular Components 中我们不能使用 < script > 标签,而且我认为目前不可能使用 require 或 import 在我的组件 TypeScript 中使用它。
那么我将如何添加这个功能呢?我知道在我可以实际引用该脚本标签后该怎么做。
您可以动态创建脚本标签,但我认为只需下载脚本并将其放入资产文件夹中,然后将脚本添加到脚本列表中会更容易 angular.json
或者您可以将脚本添加到index.htmlhead 部分
索引.html
<head>
<script src= "https://player.twitch.tv/js/embed/v1.js"></script>
...
</head>
Run Code Online (Sandbox Code Playgroud)
将此添加到组件ngOninit方法
<head>
<script src= "https://player.twitch.tv/js/embed/v1.js"></script>
...
</head>
Run Code Online (Sandbox Code Playgroud)
组件模板
ngOnInit() {
var options = {
width: <width>,
height: <height>,
channel: "<channel ID>",
video: "<video ID>",
collection: "<collection ID>",
};
var player = new Twitch.Player("<player div ID>", options);
player.setVolume(0.5);
}
Run Code Online (Sandbox Code Playgroud)
您可能会发现另一种解决方案,例如 twitch 的 angular 包可以更清洁
更新
打字稿会像[ts] Cannot find name 'Twitch'. [2304]某些库有类型定义文件一样给出错误,但在我们的情况下,如果您仅在此文件中使用 Twitch 对象,则可以添加此语句来告诉打字稿有关该Twitch对象的信息
declare const Twitch: any;
Run Code Online (Sandbox Code Playgroud)
如果您想在多个组件上使用 Twitch
src/global.d.ts
declare const Twitch: any;
Run Code Online (Sandbox Code Playgroud)
最终推荐
npm i twitch-js像这样安装和导入 Twitch 对象
import Twitch from 'twitch-js'
这将由 webpack 捆绑,因此您无需在 html 中添加任何脚本标记。
| 归档时间: |
|
| 查看次数: |
4147 次 |
| 最近记录: |