2012-05-07 267 views
1

我有这个需要jQuery的插件。我不会使用jQuery版本的require,因为某些原因不相关。RequireJS依赖关系序列

define(['jquery','dep1','dep2','mymodule'],function($,foo,bar,plugin){ 
    //all loaded 
}); 

由于AMD装载机的性质,订单不能保证。 order plugin还声明该插件不能与定义调用一起使用,因此也不能与模块定义一起使用。而the API只保证参数的顺序,而不是执行顺序。因此,如果在jQuery之前mymodule加载的事件会失败。

如何保证在插件之前加载所需的依赖关系?

回答

1

首先,它并不像你所使用的顺序插件;订单插件需要您在文件名前添加order!

其次,您的mymodule文件还应该定义jQuery作为要求。这将确保jquery在mymodule之前加载,而不必依赖于订单插件。

模块1

define(['jquery','dep1','dep2','mymodule'],function($,foo,bar,plugin){ 
    //all loaded 
}); 

mymodule.js

define(['jquery'],function($){ 
    //all loaded 
}); 
0

,你可以这样做:

define(['jquery', 'dep1', 'dep2'], function() { 
    //load myModule separately 
    var m = require('mymodule'); 
});