对于模块,我使用require而不是define来返回对象。例如,假设我有以下jQuery插件(jquery.my-plugin.js):
require(['jquery'], function($) {
$.fn.myPlugin = function(options) {
...
};
});
如果我在另一个模块中这样说:
require(['jquery', 'jquery.my-plugin'], function($) {
$('#element').myPlugin();
});
我发现这不起作用,因为myPlugin还没有被注册。但是,如果我将require更改为在jquery.my-plugin模块内定义,则可以正常运行。
如果有人能解释一下我为什么必须这样做,我会很感激。在我继续使用之前,我想充分理解它。谢谢