例子html
http://www.utlcenter.com/user/index.aspxjquery
1、文件引用canvas
<script src="Js/require.js" defer async="true" data-main="Js/main.js"></script>app
async屬性代表這個文件須要異步加載,避免網頁失去響應。IE不支持這個屬性,只支持defer,因此把defer也寫上。異步
data-main屬性的做用是,指定網頁程序的主模塊async
2、主模塊依賴main.js函數
假定主模塊依賴jquery、Statistics和GetStatistics這三個模塊,main.js就能夠這樣寫requirejs
require.config({ paths: { "jquery": "jquery-1.9.1.min", "Statistics": "SiteJs/Statistics", "GetStatistics": "SiteJs/GetStatistics" } }); requirejs(['jquery', 'Statistics', 'GetStatistics'], function () { //jQuery, canvas and the app/sub module are all //loaded and can be used here now. //var _GetTotalMoney = GetTotalMoney(); //$(".Js_cal").html(_GetTotalMoney); });
3、AMD模塊的寫法ui
require.js加載的模塊,採用AMD規範。也就是說,模塊必須按照AMD的規定來寫。spa
採用特定的define()函數來定義
4、加載非規範的模塊
理論上,require.js加載的模塊,必須是按照AMD規範、用define()函數定義的模塊。可是實際上,雖然已經有一部分流行的函數庫(好比jQuery)符合AMD規範,更多的庫並不符合。
參考連接
http://www.ruanyifeng.com/blog/2012/11/require_js.html
http://www.cnblogs.com/snandy/archive/2012/05/22/2513652.html