【问题标题】:How can I use a Twitch <script> tag in Vue [duplicate]如何在 Vue 中使用 Twitch <script> 标签 [重复]
【发布时间】:2020-01-14 13:15:33
【问题描述】:

我正在尝试实现与 Angular here 中相同的功能,但在 Vue.JS (2.6+) 中。

我正在尝试使用Twitch API for embedding a Stream,它仅通过此内联 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 中一样,我们当然不能在 Vue 组件中使用 Script 标签。

所以我想知道在 Vue 中,在我的 Vue 应用程序中使用这个 Twitch Embed 的最佳方式是什么? (我可以在 JS 中或在组件的 HTML)

【问题讨论】:

    标签: javascript vue.js twitch


    【解决方案1】:

    您需要像导入任何其他库一样导入 twitch 库。如果您在npm 中没有找到它,您可以直接下载并导入到本地。看起来,它不是一个 ES6 模块,所以它会将库分配给全局窗口对象,从那时起你就可以使用它了。

    这是一个例子:

    main.js

    import './libraries/twitch.v1.js';
    
    // boilerplate your vue app
    

    组件:

    <template>
      <div ref="twitchVideo" />
    </template>
    
    <script>
    export default {
      name: 'twitch-video',
      data () {
        return { player: null }
      },
      mounted () {
        const options = {
          width: 854,
          height: 480,
          channel: 'dallas',
        };
        // you might need to pass an ID string as a first argument..
        this.player = new Twitch.Player(this.$refs.twitchVideo, options);
        this.player.setVolume(0.5);
      }
    };
    </script>
    

    另一种选择是将&lt;script&gt; 标签添加到您的index.html 文件中。但是,我建议您不要这样做,因为您不知道何时从组件中加载脚本,这违反了捆绑库的整个概念。

    【讨论】:

    • 我今天尝试了这个,将 JS 文件的内容复制到组件中。但它最终并没有正常工作,所以我不得不求助于将它粘贴到 index.html 中。有什么我应该调查的吗?
    • 您是否将 JS 文件复制到本地计算机并按照建议的方式导入它(使用import)?导入后发生了什么?是否定义了 Twitch 对象 (console.log(Twitch))?
    • 两者都是。当 iframe 加载时,它以我的 localhost 作为源 - 创建一个源循环 - 这很奇怪。没有加载正确的路径之类的。不过,当包含在 html 文档的头部时,它工作得很好。 ://
    猜你喜欢
    • 2018-10-17
    • 2013-06-27
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    相关资源
    最近更新 更多