Angular 7:在组件中使用外部脚本

问题描述 投票:0回答:1

我正在尝试使用Twitch API在我的网络应用中嵌入一个频道。

说明如下:

<html>
  <body>
    <!-- Add a placeholder for the Twitch embed -->
    <div id="twitch-embed"></div>

    <!-- Load the Twitch embed script -->
    <script src="https://embed.twitch.tv/embed/v1.js"></script>

    <!-- Create a Twitch.Embed object that will render within the "twitch-embed" root element. -->
    <script type="text/javascript">
      new Twitch.Embed("twitch-embed", {
        width: 854,
        height: 480,
        channel: "monstercat"
      });
    </script>
  </body>
</html>

我在我的https://embed.twitch.tv/embed/v1.js文件夹和angular.json中包含了assets文件。

    "scripts": [
      "src/assets/twitch/twitch-embed-v1.js"
    ]

我的组件文件如下所示:

import Twitch from '../../../../../assets/twitch/twitch-embed-v1';

export class TwitchPlayerComponent implements OnInit {

  ngOnInit() {
    const options = {
      width: 854,
      height: 480,
      channel: '424976424',
    };
    const player = new Twitch.Embed('twitch-embed', options);
    player.setVolume(0.5);
  }

}

该脚本显示在Chrome devtools的源代码面板中,但会产生以下错误:

Embed is not a constructor

正确使用脚本有什么障碍?

angular typescript twitch
1个回答
1
投票

抽搐的v1还没有TypeScript打字,这将在v2中出现。您不应将脚本添加到资源文件夹中。如果有抽搐的更新怎么办?您必须手动更新资产文件夹。

无论如何,我认为,要使用twitch SDK,您可以执行以下操作:

npm install twitch-js@next

在你的TS:

import * as Twitch from 'twitch-js';

new Twitch.Embed({...});
© www.soinside.com 2019 - 2024. All rights reserved.