我正在尝试在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
你知道我做错了什么吗?
答案 0 :(得分:0)
根据chart.js
代码,当通过requireJS加载库并且seatsio
是一个对象时,未设置全局变量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>