require.js - 无法加载任何其他模块

时间:2014-10-22 11:23:10

标签: javascript requirejs

大家好。

这就是我加载 jquery jquery.validate 扩展程序的方式..一切都还好,直到我尝试添加任何其他模块..。

define( ['jquery', 'jquery_validate'], function($){
  dostuff()
});

。 试过这个,但现在它认为 domReady jquery.validate ..

define( ['jquery', 'jquery_validate', 'domReady'], function($, domReady){
     domReady(function (){
       dostuff()
     });
});

我想它可能会像这样......任何想法?

 define( ['jquery', 'jquery_validate'], function($, require){
    var domR = require(['domReady']);
    dostuff()
});
你能告诉我吗?

1 个答案:

答案 0 :(得分:1)

将其更改为:

define( ['jquery', 'domReady', 'jquery_validate'], function($, domReady){

RequireJS将调用您的工厂函数(您给define的回调),其参数与您为define(或require提供的依赖项的编号和顺序相同)。如果模块返回未定义的值,则相应的值将为undefined ,但它仍然存在

由于从告诉RequireJS做什么的角度来看define调用中依赖项的顺序是没有意义的,处理返回undefined值或值的模块的传统方法我们并不在乎关于是将它们放在依赖列表的末尾并省略它们的参数,就像我上面为jquery_validate所做的那样。