Atitit.js模塊化 atiImport 的新特性javascript import 1. 常見的js import規範amd ,cmd ,umd1 1.1. Require更多流行3 2. atiImport3 2.1. Base url的設置4 2.2. Atiimport的使用4 2.3. ...
Atitit.js模塊化 atiImport 的新特性javascript import
1. 常見的js import規範amd ,cmd ,umd1
2.3. Page load事件的載入要使用window。Load事件4
1. 常見的js import規範amd ,cmd ,umd
五、AMD模塊的寫法
require.js載入的模塊,採用AMD規範。也就是說,模塊必須按照AMD的規定來寫。
六、載入非規範的模塊
理論上,require.js載入的模塊,必須是按照AMD規範、用define()函數定義的模塊。但是實際上,雖然已經有一部分流行的函數庫(比如jQuery)符合AMD規範,更多的庫並不符合。那麼,require.js是否能夠載入非規範的模塊呢?
回答是可以的。
作者:: ★(attilax)>>> 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍, EMAIL:[email protected]
轉載請註明來源: http://www.cnblogs.com/attilax/
這樣的模塊在用require()載入之前,要先用require.config()方法,定義它們的一些特征。
舉例來說,underscore和backbone這兩個庫,都沒有採用AMD規範編寫。如果要載入它們的話,必須先定義它們的特征。
require.config({
shim: {
'underscore':{
exports: '_'
},
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
}
}
});
require.config()接受一個配置對象,這個對象除了有前面說過的paths屬性之外,還有一個shim屬性,專門用來配置不相容的模塊。具體來說,每個模塊要定義(1)exports值(輸出的變數名),表明這個模塊外部調用時的名稱;(2)deps數組,表明該模塊的依賴性。
1.1. Require更多流行
2. atiImport
Attilax總結...麻煩的..require載入要改寫原js文件格式,麻煩。
還是,使用import 機制容易的...
原理如下:::
動態insert script標簽走ok蘭..
// JavaScript Document
var ImportMap={};
function importx(jsSrc)
{
if(ImportMap[jsSrc])
return;
ImportMap[jsSrc]=1;
var oHead = document.getElementsByTagName('HEAD').item(0);
var oScript= document.createElement("script");
oScript.type = "text/javascript";
oScript.src=import_base+jsSrc;
oHead.appendChild( oScript);
}
2.1. Base url的設置
<script>
var apiurl="/wrmiServlet";
var import_base="../";
$ex_show_err_str=true;
</script>
<script type="text/javascript" src="../com.attilax/core/import.js"></script>
2.2. Atiimport的使用
importx("com.attilax/dataService/dataServiceV2q329.js");
importx("com.attilax/web/req.js");
importx("com.attilax/web/dslUtil.js");
importx("com.attilax/core/jqUtil.js");
importx("com.attilax/core/ex.js");
importx("com.attilax/core/core.js");
importx("com.attilax/text/str.js");
importx("com.attilax/web/urlUtil.js");
importx("com.attilax/ui/Table.js");
2.3. Page load事件的載入要使用window。Load事件
最好不個 defer ,jq load都加上,確保js載入完成
3. 參考
Javascript模塊化編程(三):require.js的用法 - 阮一峰的網路日誌.html
動態載入JS腳本的4種方法 - JavaScript - web - ITeye論壇.html