Javascript 在Moodle中使用requirejs查找fullcalendar模块时遇到问题

Javascript 在Moodle中使用requirejs查找fullcalendar模块时遇到问题,javascript,requirejs,fullcalendar,moodle,Javascript,Requirejs,Fullcalendar,Moodle,链接到完整日历: 所以我在Moodle中遇到AMD模块相互引用的问题。我在Moodle文档中展示了如何包含第三方AMD模块,实际上这个例子就是我试图包含的那个。因为写了新版本的文档已经出来了,它不再工作了 我已经让它“工作”,但我得到一个错误,它无法获得插件列表的长度。我怀疑这是因为插件没有正确加载,或者这是fullcalendar插件本身的一个错误 我在网上读到,在新版本中,您应该加载插件,然后将实例传递给主插件 config.js 这是用于加载模块的配置文件(Moodle方式): daygr

链接到完整日历:

所以我在Moodle中遇到AMD模块相互引用的问题。我在Moodle文档中展示了如何包含第三方AMD模块,实际上这个例子就是我试图包含的那个。因为写了新版本的文档已经出来了,它不再工作了

我已经让它“工作”,但我得到一个错误,它无法获得插件列表的长度。我怀疑这是因为插件没有正确加载,或者这是fullcalendar插件本身的一个错误

我在网上读到,在新版本中,您应该加载插件,然后将实例传递给主插件

config.js 这是用于加载模块的配置文件(Moodle方式):

daygrid.js 然后我添加了每个插件,如下所示:

define(['block_pxeventcalendar/config', '@fullcalendar/daygrid'], function(unused, dayGrid){
    return dayGrid;
});
pxcalendar.js 最后,我创建了自己的模块,在其中我使用日历:

define([
    'block_pxeventcalendar/fullcalendar',
    'block_pxeventcalendar/daygrid',
    'block_pxeventcalendar/timegrid',
    'block_pxeventcalendar/list'
], function(FullCalendar, dayGrid, timeGrid, list){
    return {
        init: function(){
            new FullCalendar.Calendar(document.querySelector('#calendar'), {
                plugins: [dayGrid, timeGrid, list]
            });
        }
    };
});
我当然有一个HTML页面,其中包含:

<div id="calendar"></div>
我知道这意味着什么,但它指的是core main.js,我认为这是因为插件加载不正确。但是我已经调试了所有即将加入的插件,我可以很好地使用控制台中的所有实例

<div id="calendar"></div>
Cannot read property 'length' of undefined