javascript - React 中的 Video.js 播放列表

标签 javascript reactjs webpack video.js

我试图让 React video.js 示例与 videojs-playlist 插件一起使用,但我不断收到以下错误:未捕获类型错误:this.player.playlist 不是函数。我的组件如下:

import React from 'react';
import videojs from 'video.js';
import 'videojs-playlist';

const VideoControl = React.createClass({ 
    componentDidMount() {

      this.player = videojs(this.videoNode);

      this.player.playlist([{
          sources: [{
            src: 'http://media.w3.org/2010/05/sintel/trailer.mp4',
            type: 'video/mp4'
          }],
          poster: 'http://media.w3.org/2010/05/sintel/poster.png'
        }, {
          sources: [{
            src: 'http://media.w3.org/2010/05/bunny/trailer.mp4',
            type: 'video/mp4'
          }],
          poster: 'http://media.w3.org/2010/05/bunny/poster.png'
    }]);
  },

  // destroy player on unmount
  componentWillUnmount() {
    if (this.player) {
      this.player.dispose();
    }
  },


  render() {
    return (

            <div data-vjs-player>
              <video ref={ node => this.videoNode = node } className="video-js"></video>
            </div>

    )
  }
})

export default VideoControl;

videojs-playlist 似乎没有将其自身作为插件添加到 VideoJS 中。我正在使用最新的 React 和 Webpack。谢谢!

最佳答案

原来是Webpack的问题。我按照以下内容进行了操作:

import 'expose-loader?videojs!../../../../node_modules/video.js/dist/video.js';
require("script-loader!../../../../node_modules/videojs-playlist/dist/videojs-playlist.js");

关于javascript - React 中的 Video.js 播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45226058/

相关文章:

javascript - 在 three.js 中渲染黑屏

reactjs - 如何测试函数是否在功能性 React 组件中调用 onChange?

javascript - 在 VueJS 上使用领导线

javascript - Eslint - 超出最大调用堆栈大小

javascript - Webpack-dev-server — HMR 未收到来自 WDS 的更新信号

javascript - 如何让 ESLint 在 Sublime Text 3 编辑器中运行 React + Babel?

javascript - 无法停止循环功能

reactjs - 在渲染之前查找 react 组件或图像的大小

javascript - 如何创建登录和注册页面而无需连接到后端(ReactJS + Redux)?

javascript - 获取没有标签的 HTML 文本