如何在 magento 2 中加载外部 CDN (seats.io)?

How to load external CDN (seats.io) in magento 2?

我正在尝试在 magento 2

中实现 https://docs.seats.io/docs/tutorial-show-the-floor-plan-on-your-page

我在主页中添加了这段代码

<div id="chart"></div>
<script>
        require(['jquery', 'seatsio'], function($){
            $(document).ready(function(){
                new seatsio.SeatingChart({
                    divId: 'chart',
                    publicKey: 'xxxx',
                    event: 'xxxx'
                }).render();
            });
        });
</script>

在 requirejs-config.js 我添加这个来加载 cdn :

paths: {
    'seatsio': 'https://cdn.seatsio.net/chart'

shim: {seatsio: ['jquery']}

在 google chrome devtools 中加载了 CDN,但出现此错误:

未捕获的 ReferenceError:未定义 seatio

你知道我做错了什么吗?

根据chart.js代码,通过requireJS加载库时没有设置全局变量seatsiorequire.amd是一个对象

RequireJS 将每个依赖项的导出值提供给模块函数。您可以接受导出的 seatsio 作为第二个参数,如以下代码所示。

<div id="chart"></div>
<script>
        require(['jquery', 'seatsio'], function($, seatsio /* add this param */){
            $(document).ready(function(){
                new seatsio.SeatingChart({
                    divId: 'chart',
                    publicKey: 'xxxx',
                    event: 'xxxx'
                }).render();
            });
        });
</script>