dragula 加载但不工作

dragula loaded but not working

我正在开发一个使用 dragula 的 Alfresco 冲浪页面。由于 alfresco 5 使用 dojo ,我使用 dojo 加载 dragula 库。

 require(["${page.url.context}/res/components/js/dragula.js"], function(){
     dragula([document.getElementById('left-defaults')]);
 });

库加载正常,但 dragula 未正确定义。如果我尝试使用它,我会在浏览器中收到一个未定义的错误,如下所示:

Uncaught ReferenceError: dragula is not defined
at extractar:388
at runFactory (dojo.js:1147)
at execModule (dojo.js:1275)
at dojo.js:1310
at guardCheckComplete (dojo.js:1290)
at checkComplete (dojo.js:1305)
at onLoadCallback (dojo.js:1471)
at HTMLScriptElement.onLoad (dojo.js:1720).

我的问题的一些照片。

dragula library loaded ok

dragula browser error

为什么会这样?我必须使用其他方式来加载和使用 dragula 吗?

提前致谢

您的代码缺少传递给回调函数的形式参数,即

require(["path/to/dragula.js"], function(dragula /*this is missing*/) {
    // you can use dragula param here
    ...
});

查看 dojo.require 可以观察到,如果要引用作为第一个参数传递给 require() 的数组中第 N 个索引处加载的模块,则需要提供与前 N 个模块匹配的形式参数在数组中。