在这个简单的需求示例中,为什么是n't "c"先执行
in this simple requirejs example, why isn't "c" executing first?
在这个小示例应用程序中,为什么index-b.js
在index-c.js
之前执行?
由于index-c
是index-a
的依赖项,index-a
是在index-b
之前加载的,在我看来,index-c
应该先执行。
/* index.js */
define([ "./index-a", "./index-b" ], function(){
console.log("index executing");
});
/* index-a.js */
define([ "./index-c" ], function(){
console.log("index-a executing");
});
/* index-b.js */
define(function(){
console.log("index-b executing");
});
/* index-c.js */
define(function(){
console.log("index-c executing");
});
运行示例:http://fitzgeraldmedia.net/requirejs/index.html (check console)
在index.js中的define()调用中的模块顺序并不意味着任何同步依赖关系,因此index-a并没有真正在index-b之前"设置为加载"。index.js中的define()调用只是简单地说明回调函数中的代码依赖于index-a和index-b。如果index-b依赖于index-a,那么index-b应该在其define()调用中将index-a列为依赖项。
所以你的index。js文件应该是这样的:define([ "./index-b" ], function(){
console.log("index.js executing");
});
和你的index-b.js文件看起来像这样:
define([ "./index-a" ], function(){
console.log("index-b.js executing");
});
尝试在配置的shim
属性中包含依赖项
'indexC': {
deps: ['index-a']
},
确保在加载index-c
之前加载index-a
requirejs.config({
baseUrl: "lib/",
paths: {
'jquery' : "vendor/jquery-2.0.2.min",
'indexA' : 'app/ndex-a',
'indexB' : 'app/ndex-b',
'indexC' : 'app/ndex-c',
'index' : 'app/ndex',
}
});
因为index-a
依赖于index-c
define([ "app/index-c" ], function(){
require([ "app/index-c" ], function(){
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 为什么spyOn"停止函数“”的所有执行;Jasmine(要求澄清Jasmine 2.2间谍文件)
- 我没有'我不明白“;temp<<=y"在这个javascript程序中执行
- "对象没有't支持这种性质或方法“;在IE 8中.在调试中执行精细
- "未定义“角度”;在Liferay中存储的角度应用程序上执行Protractor测试时出错
- "执行处理程序'的子请求时出错;System.Web.UI.Page'"同时使用JQu
- 得到"来自(127.0.0.1'33187)“;当使用$.ajax执行get请求时
- 像在PHP中一样,在jQuery中执行单引号(')和双引号(quot;)的工作
- 如何制作frisby.js脚本"暂停”;在api的链式执行期间
- "执行insertHtml命令“”时出错;当在“”中插入html时,cleditor中的消息;查看源“;模式
- 什么是+"在JavaScript中执行
- 什么是“~"运算符在该脚本中执行
- "可以't从释放的脚本执行代码“t”;在IE9中调用date.getHours()时
- 在提交之前执行js代码"提交”;在铁轨上的红宝石
- "由于顶部钢筋的密度高而停止执行”;
- 你能"存储“;javascript,然后稍后执行
- 如何显示“;已保存"执行Redirect()后的消息.