将 videojs 7 添加到 magento 2.4

问题描述

您好,我想将 videojs 添加到我的 magento 主题中。目录结构。 配置:

var config = {
    paths: {
        "videojs": "js/videojs/video.min"
    },shim: {
        "videojs": {
            deps: []
        }
    }
};

和内部视图块:

<script>

define(['videojs'],function(videojs) {
    'use strict';

                   var player = videojs('my-player',{
                    controls: true,autoplay: true,loop: true,preload: 'auto'
                });

});
</script>

enter image description here

在控制台我有 Uncaught Error: Mismatched anonymous define() module: function(videojs) {

我该如何解决这个问题?

解决方法

您应该将块中的 define 更改为 require,例如:

example.phtml

<video
  id="my-video"
  class="video-js"
  controls
  preload="auto"
  width="640"
  height="264"
  data-setup='{"techOrder": ["youtube"],"sources": [{ "type": 
  "video/youtube","src": "https://www.youtube.com/watch?v=xjS6SftYQaQ"}]}'>
</video>



    <script>
        require(['videojs'],function(videojs) {
            'use strict';

            var player = videojs('my-video',{
                controls: true,autoplay: true,loop: true,preload: 'auto'
            });

        });
    </script>