javascript - 如何在 magento 2 中加载外部 CDN (seats.io)?
问题描述
我正在尝试在 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:未定义席位
你知道我做错了什么吗?
解决方案
根据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>
推荐阅读
- javascript - 计算器:我如何得到方程的结果?
- shell - Shell:分叉(守护)一个子shell,使其在其 tmux 会话结束后仍然存在
- swift - 返回不包含数组中任何字符串的文档的查询 - Firestore - swift
- c - C调用多个相同程序集的执行时间呈指数增长
- rest - 具有操作性能评估的 Apache Superset 孵化器超集日志注入
- javascript - 本机 node.js 和浏览器加密的同构代码
- python - PyArrow:mmap 支持的直通数组?
- python-3.x - Visual Studio 2019 python 工作区设置
- javascript - 获取对象数组中 javascript 对象的键名
- google-admin-sdk - 我找不到某些类型的管理员审核活动事件