2

很长一段时间以来,我一直在反对这一点。我正在加载大约 60 个需要尊重特定依赖结构的脚本文件。在 requirejs 中正常加载这些是行不通的,所以我开始使用 order 插件。

order 插件在 Firefox 3.6.12、IE7、IE8 中运行良好,但我的应用程序在 Chrome 8 中爆炸式增长。Chrome 似乎以任何感觉的顺序执行。这是一个已知问题还是有一些解决方法?

4

1 回答 1

7

免责声明,我是 RequireJS 的主要开发者:

每晚的 WebKit 发生了改变,破坏了 order 插件。它也会影响 LABjs。它导致 HTML5 规范的实现改变了动态脚本加载行为。好事是浏览器开始趋同,坏事是规范没有考虑到动态添加的脚本元素的有序执行。

LABjs 的作者 Kyle Simpson 一直在与 HTML5 小组合作,以获得支持动态添加脚本的顺序执行的官方规范更改。到目前为止,Firefox nightlies 已经实现了一个改变,我相信 WebKit 可能也在考虑它。另一个好文章是 Henri Sivonen 的

综上所述,我认为它影响了 WebKit nightlies,我不确定 Chrome 8 是否已经接受了这个变化。我预计这可能是损坏的原因,但我对订单插件的单元测试似乎在 Chrome 8 中对我有用。

如果您可以确认您使用的是 Chrome 8,而不是可能拥有 Chrome 9 的开发者频道,那么很高兴知道。知道您使用的是哪个版本的 RequireJS 也很好。0.15 有一个对应于 Firefox nightlies 变化的修复。如果您使用的是旧版本的 RequireJS,您可以尝试新版本。

于 2010-12-15T06:01:59.743 回答