define,require的基本用法
生活随笔
收集整理的這篇文章主要介紹了
define,require的基本用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
id:指定義中模塊的名字,可選;如果沒有提供該參數,模塊的名字應該默認為模塊加載器請求的指定腳本的名字。如果提供了該參數,模塊名必須是“頂級”的和絕對的(不允許相對名字)。依賴dependencies:是一個當前模塊依賴的,已被模塊定義的模塊標識的數組字面量。
依賴參數是可選的,如果忽略此參數,它應該默認為["require", "exports", "module"]。然而,如果工廠方法的長度屬性小于3,加載器會選擇以函數的長度屬性指定的參數個數調用工廠方法。工廠方法factory,模塊初始化要執行的函數或對象。如果為函數,它應該只被執行一次。如果是對象,此對象應該為模塊的輸出值。
//定義一個模塊"app/basic",它依賴另一個模塊"util"
/*
如果在模塊定義體中需要用到依賴模塊,則模塊定義體應該是固定的方式
即,使用閉包的方式進行模塊實體定義,從而可以對依賴模塊進行調用
*/
define('app/basic', ['util'], function(util){
//定義app/basic模塊實體
var ret = {
isString: function(str){
//對依賴模塊的調用
return util.isString(str);
}
};
//返回模塊實體的定義
return ret;
});
//定義一個沒有依賴的模塊"util",它的實體可以是任意形式,比如,直接就是一個Object對象
define('util', {
isString: function(str){
return str&&typeof str==='string';
}
});
//現在要在頁面上使用模塊"app/basic",有兩種回調方式
//方式1
require('app/basic', function(basic){
alert(basic.isString('hello,world'));
});
//方式2
require('app/basic').todo(function(basic){
alert(basic.isString('hello,world'));
});
/*
如果想要和window.onload結合起來用,可以有兩種方式:
1.在window.onload中進行 require
2.在require的callback中綁定到window.onload,考慮到異步情形下的require,callback執行時window.onload已經觸發過了,所以,可以設定一個window.loaded的flag進行判斷
*/
</script>
模塊名的格式
模塊名用來唯一標識定義中模塊,它們同樣在依賴性數組中使用:
模塊名是用正斜杠分割的有意義單詞的字符串 單詞須為駝峰形式,或者".",".." 模塊名不允許文件擴展名的形式,如“.js” 模塊名可以為 "相對的" 或 "頂級的"。如果首字符為“.”或“..”則為相對的模塊名 頂級的模塊名從根命名空間的概念模塊解析 相對的模塊名從 "require" 書寫和調用的模塊解析
<script src="http://www.w3cgroup.com/oye/resource/js/oye/oye.min.js"></script>
<script>//定義一個模塊"app/basic",它依賴另一個模塊"util"
/*
如果在模塊定義體中需要用到依賴模塊,則模塊定義體應該是固定的方式
即,使用閉包的方式進行模塊實體定義,從而可以對依賴模塊進行調用
*/
define('app/basic', ['util'], function(util){
//定義app/basic模塊實體
var ret = {
isString: function(str){
//對依賴模塊的調用
return util.isString(str);
}
};
//返回模塊實體的定義
return ret;
});
//定義一個沒有依賴的模塊"util",它的實體可以是任意形式,比如,直接就是一個Object對象
define('util', {
isString: function(str){
return str&&typeof str==='string';
}
});
//現在要在頁面上使用模塊"app/basic",有兩種回調方式
//方式1
require('app/basic', function(basic){
alert(basic.isString('hello,world'));
});
//方式2
require('app/basic').todo(function(basic){
alert(basic.isString('hello,world'));
});
/*
如果想要和window.onload結合起來用,可以有兩種方式:
1.在window.onload中進行 require
2.在require的callback中綁定到window.onload,考慮到異步情形下的require,callback執行時window.onload已經觸發過了,所以,可以設定一個window.loaded的flag進行判斷
*/
</script>
總結
以上是生活随笔為你收集整理的define,require的基本用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scala中使用特质中的抽象字段和实际字
- 下一篇: Machine Learning On