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