2017-10-12 14 views
0

J'essaie d'utiliser le videojs-vr, que j'installe via npm, dans un composant Vuejs. Et a obtenu une erreur:Utiliser videojs-vr dans le composant Vuejs

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) 

J'ai essayé, à importation ou nécessitent la bibliothèque. Il doit y avoir quelque chose de mal dans la façon dont j'utilise la bibliothèque npm. S'il vous plaît aider.

<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> 

Répondre

1

Vous devez d'abord besoin du module video.js et définir cette référence comme variable videojs. Ensuite, vous avez simplement besoin du module videojs-vr sans le paramétrer sur une variable.

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'}); 
+0

Je ne peux pas croire que j'ai raté. :) C'est quand la copie et le collage ont vraiment échoué. – Alocus