2012-02-07 32 views
2

是否有一个工具或require.js函数我可以用来确定我的模块/传统脚本的读取和加载顺序?require.js读取/加载命令调试

例如,

a.js:

define(['b', 'c'], function(b,c){}); 

b.js:

define(['d'], function(d){}); 

,然后在出现

require(['a'], function(a){}); 

我的假设一个main.js这里是:

  1. a.js将被取出的第一
  2. b.js和c.js将获取第二
  3. d.js将被取出最后

和模块将在被加载d→b→c→a的顺序。或者,也许,d和c在同一时间(因为c没有像d那样的依赖)然后b和最后a。

但是,我从来没有100%肯定我的假设是正确的。我可以刷新页面100次,并确认我没有错误,但我仍然妄想第101次尝试会中断。

AMD模块开发人员,您如何调试?

回答

1

为了更好地控制模块的抓取顺序,有order plugin

您还可以在Chrome/Firebug等中打开网络控制台以查看发生的提取。

但是,你的例子是一个相当简单的一个应该没有问题,无论是在101 ST反复或者1001 ST。我没有看到任何需要关注或需要调试的东西。

+0

订单插件的文档声明,对于使用define()的模块来说,它不应该是必需的,但有些情况下,我在define数组中使用传统脚本。例如define(['b','c','e.js','f.js'] ...)。顺序是否仍适用于这些传统脚本?从我的有限测试中,它似乎没有任何影响,这意味着e.js和f.js的编码顺序不会被保留。有什么想法吗?谢谢! – 2012-02-07 18:43:32

+0

由于常规脚本不使用'define',它可以用作“回调”来告诉RequireJS一个模块实际上被加载,所以RequireJS可能没有直接的方法来告诉何时加载一个常规脚本(虽然我不知道它是否使用'