所以我现在一直在使用require.js,但我意识到我实际上并不知道它是如何工作的.它说这是一个AMD加载器.
我知道CommonJS是同步的,这意味着它在加载时会阻止其他代码的执行.另一方面,AMD是异步的.这是我感到困惑的地方.
当我定义一个模块时,它必须加载a,b,c才能执行回调.异步如何在这里工作?
define("name",["a","b","c"], function(a,b,c){
});
Run Code Online (Sandbox Code Playgroud)
pau*_*sm4 10
如您所知,"AMD"(异步模块定义(AMD))是一种特定的API.有许多与AMD兼容的"加载器",包括RequireJS,curl.js和Dojo(以及其他).
就像JQuery和Dojo这样的框架为您提供原始Javascript的API; 使用AMD的程序:
1)需要一个兼容AMD的.js库,
2)要求某些编程"规则"和"约定",以及
3)最终坐在Javascript的"顶部",它运行在你的"Javascript引擎"(无论是IE,Chrome,Firefox - 无论如何).
以下是我发现有用的几个链接:
PS:要回答你的直接问题,后一个链接有一些关于"require()"和"dynamic_loaded依赖"的讨论.
归档时间: |
|
查看次数: |
3416 次 |
最近记录: |