Javascript模块化编程require.js的用法
JS模塊化工具requirejs教程(一):初識requirejs
http://www.runoob.com/w3cnote/requirejs-tutorial-1.html
JS模塊化工具requirejs教程(二):基本知識
http://www.runoob.com/w3cnote/requirejs-tutorial-2.html
Javascript模塊化編程(三):require.js的用法
http://www.ruanyifeng.com/blog/2012/11/require_js.html
require js define 函數
http://blog.csdn.net/u010130282/article/details/52329953
5. 完整定義
define('sample3' ,['sample','sample1'],function (sample,sample1) { var sample4 = require('sample4'); return function(){ alert(sample.name+':'+sample.sayhell()); } });這就是完整定義,有名稱,有依賴,有回調,內部還有common的形式引入依賴對象!
關于define函數的name和require函數的依賴名稱之間的關系
-
define(name,[] , callback); 這個name可以省掉,默認是文件名稱;當然也可以自定義,一旦我們定義了name,根據源代碼我們可以發現define函數內部其實就是把這個name以及依賴模塊、回調函數作為一個對象存儲在全局的數組當中,也就是 defQueue.push([name,deps,callback]);那么這個name就是這個組件注冊的的ID!
-
require([name , name2],callback); 系統首先會在全文檢索path中是否對應的路徑,如果沒有自然把他作為路徑拼接在baseUrl上去異步加載這個js文件,加載時從源代碼中可以看到 ,var data = getScriptData(evt);返回的 data.id 其實就是name,然后執行contex.completeLoad(node.id),其內部就很清楚了,把define中注冊的name和這里得到的name進行比較如果相等就執行。所以道理就是:require 和 define 的 name 必須保證一致!
總結
以上是生活随笔為你收集整理的Javascript模块化编程require.js的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle PL/SQL编程之过程
- 下一篇: PHP结合Ueditor并修改图片上传路