Javascript 使用AMD和Moodle

Javascript 使用AMD和Moodle,javascript,php,jquery,moodle,amd,Javascript,Php,Jquery,Moodle,Amd,我试图在为Moodle构建的模块中使用jQuery,但我面临很多问题 基于这里的quide,我创建了所需的文件夹结构 ./ ./amd ./amd/src ./amd/src/scripts.js 在我的scripts.js中,我有简单的代码 define(['jquery'], function($) { return { debug: function($){ console.log($); } }; }); 我运行grunt,一切都按预期编译 然后在

我试图在为Moodle构建的模块中使用jQuery,但我面临很多问题

基于这里的quide,我创建了所需的文件夹结构

./
./amd
./amd/src
./amd/src/scripts.js
在我的scripts.js中,我有简单的代码

define(['jquery'], function($) {
  return {
    debug: function($){
      console.log($);
    }
  };
});
我运行grunt,一切都按预期编译

然后在我的PHP中调用

$PAGE->requires->js_call_amd("mod_mymod/scripts", "debug", null);
当我运行此命令时,我得到以下错误

未捕获错误:没有对mod_mymod/脚本的定义调用

有人能帮我解决这个问题吗

我以前从未使用过AMD,所以如果我需要做一些类似

$("#link").click(function(){
    $(".results").html("hi");
}
我要怎么做?

试试这个:

define(['jquery'], function($) {
  return {
    debug: function(){
      console.log($);
    }
  };
});
叫它

$PAGE->requires->js_call_amd("mod_mymod/scripts", "debug");

并确保grunt正常工作并创建build文件夹和scripts.min.js文件。

是否清除了所有缓存(或在config.php中设置$CFG->jsrev=-1)?哇,谢谢,我不知道:s我的意思是我打开了主题设计器,但什么也没有发生。注意,他原来有一个($)来代替jquery$