RequireJS依赖序列

时间:2012-05-07 14:27:15

标签: javascript jquery jquery-plugins requirejs

我有这个需要jQuery的插件。由于某些不相关的原因,我不会使用jQuery版本的require。

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

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

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

2 个答案:

答案 0 :(得分:1)

首先,它看起来不像你正在使用订单插件;订单插件需要您将order!添加到文件名中。

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

第1单元

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

<强> mymodule.js

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

答案 1 :(得分:0)

你可以这样做:

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