var options = { -6ren">
gpt4 book ai didi

node.js - Angular 如何在组件中使用嵌入脚本

转载 作者:太空狗 更新时间:2023-10-29 18:28:28 24 4
gpt4 key购买 nike

我正在尝试在 Angular 中设置一种仅在流在线时显示 Twitch 播放器的方法,因此在 Documentation 中有这个内联 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>

当然,尽管在 Angular Components 中我们不能使用 <script> 标签,而且我认为目前无法在我的组件 TypeScript 中使用 require 或 import 来使用它。

那么我该如何添加这个功能呢?我明白在实际引用该脚本标签后该怎么做。

最佳答案

您可以动态创建脚本标签,但我认为下载脚本并将其放在 Assets 文件夹中然后将脚本添加到 angular.json 中的脚本列表中会更容易

或者您可以将脚本添加到 index.html head 部分

index.html

<head>
<script src= "https://player.twitch.tv/js/embed/v1.js"></script>
...
</head>

将此添加到组件 ngOninit 方法

      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);
}

组件模板

    <div id="<player div ID>"></div>

您可能会发现另一种解决方案,例如用于 twitch 的 Angular 包可以更简洁

已更新

typescript 会给出类似 [ts] Cannot find name 'Twitch' 的错误。 [2304] 一些库有类型定义文件,但在我们的例子中,如果你只在这个文件中使用 Twitch 对象,你可以添加这个语句来告诉 typescript 关于 Twitch 对象

declare const Twitch: any;

如果你想在多个组件上使用 Twitch

src/global.d.ts

 declare const Twitch: any;

最终推荐

安装 npm i twitch-js 并像这样导入 Twitch 对象

从“twitch-js”导入 Twitch

这会被webpack打包,所以你不需要在html中添加任何script标签。

twitch-devs

关于node.js - Angular 如何在组件中使用嵌入脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53577637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com