我试图在Vuejs组件中使用我通过npm安装的videojs-vr。并得到一个错误:
TypeError: videojs is not a function
at VueComponent.mounted (VR.vue?d2da:23)
at callHook (vue.esm.js?65d7:2701)
at Object.insert (vue.esm.js?65d7:3588)
at invokeInsertHook (vue.esm.js?65d7:5541)
at VueComponent.patch [as __patch__] (vue.esm.js?65d7:5744)
at VueComponent.Vue._update (vue.esm.js?65d7:2460)
我尝试过导入或要求库。我使用npm库的方式一定有问题。请帮忙。
<template>
<div class="videojs-vr" style="width: 100%; height:100%;">
<video id="videojs-vr-player" class="video-js vjs-default-skin" controls>
<source src="./static/videos/sample.mp4" type="video/mp4">
</video>
</div>
</template>
<script>
var videojs = require('videojs-vr');
// import videojs from 'videojs-vr';
export default {
name: 'videojs-vr',
mounted() {
var player = videojs('videojs-vr-player');
player.mediainfo = player.mediainfo || {};
player.mediainfo.projection = '360';
// AUTO is the default and looks at mediainfo
player.vr({projection: 'AUTO', debug: true, forceCardboard: false});
},
};
</script>
答案 0 :(得分:1)
您需要先要求video.js
模块并将该引用设置为videojs
变量。然后,您只需要videojs-vr
模块而不将其设置为任何变量。
Here's the example from the documentation:
var videojs = require('video.js'); // The actual plugin function is exported by this module, but it is also // attached to the `Player.prototype`; so, there is no need to assign it // to a variable. require('videojs-vr'); var player = videojs('my-video'); player.vr({projection: '360'});