Как загрузить внешний CDN (seat.io) в magento 2? - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь реализовать https://docs.seats.io/docs/tutorial-show-the-floor-plan-on-your-page в magento 2

Я добавил этот код на своей домашней странице

<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 загружен, но у меня есть эта ошибка:

Uncaught ReferenceError: seatio не определен

Вы знаете, что я сделал не так?

1 Ответ

0 голосов
/ 05 апреля 2019

Согласно коду chart.js, глобальная переменная seatsio не устанавливается, когда библиотека загружается через requireJS, а require.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>
...