Require.JS:加载彼此依赖的模块?

时间:2012-03-30 12:11:24

标签: javascript requirejs

我刚开始使用Require.JS,我有一个(希望)简单的问题。

我正在使用jQuery和SlickGrid,我已将所有模块加载到main.js文件的顶部,如下所示:

require(["jquery", "underscore-1.3.1", "backbone-0.9.1", 
     "plugins/jquery.event.drag-2.0.min", "plugins/slick.core", 
     "plugins/slick.grid", "plugins/slick.dataview"], function($) { ...

这在Chrome和Firefox中运行良好,但在Safari中我收到一些错误警告:

SlickGrid requires jquery.event.drag module to be loaded
require-jquery.js:1632Error: Module name 'underscore' has not been loaded yet 
   for context: _http://requirejs.org/docs/errors.html#notloaded

SlickGrid依赖于jquery.event.drag而Backbone依赖于Underscore,看起来Safari不喜欢他们无法看到对方。

我做错了吗?我有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:13)

requirejs order plugindeprecated。请参阅requirejs documentation并使用shim加载代替order plugin

答案 1 :(得分:-2)

您应该尝试Requirejs Order Plugin 以确保以正确的顺序加载文件。

更新:请参阅下面的帖子!订单插件已过时!使用SHIMS

PLZ请参阅 Konga Raju Simon Smith 发布!