RequireJS中如果使用AMD規範,在使用的過程中沒有太多的問題,如果載入非AMD規範的JS檔案,就需要使用Require中的shim.
require.config({ paths:{ jquery:"/js/jquery2.0", InStorage:"/js/in/InStorage", Product:"/js/product/Product", cate:"/js/product/Category", }, shim:{ cate:{ deps:[], exports:"Category" } } });
cate:"/js/product/Category" 該檔案是非AMD規範的JS,在使用的過程中遵循如下幾個步驟:
(1) paths 中配置檔案載入的路徑, JSON中的 Key值可以隨意,儘量有意義,JSON中的Value是檔案的載入路徑,這個不必多說
(2) shim 中定義一個JSON物件, Key 值(cate) 與paths中定義的名字一樣
(3) shim中的JSON物件有兩個屬性: deps,exports ; deps 為陣列,表示其依賴的庫, exports 表示輸出的物件名
var Category=(function(){ var param={}; param.Add=function(){ console.log("新增分類"); } return param; })(); var Category=(function(param){ param.Write=function(){ console.log("輸出分類資訊"); } return param; })(Category||{});
requirejs可以實現js的延時載入, 在方法呼叫的時候載入JS,也就是在function 中require 某個模組的資訊
define(function(){ var ProductManager={ Create:function(){ console.log("建立產品"); require(["cate"],function(cate){ cate.Write(); cate.Add(); }); } } return ProductManager; });
作者:情緣
出處:http://www.cnblogs.com/qingyuan/
關於作者:從事倉庫,生產軟體方面的開發,在專案管理以及企業經營方面尋求發展之路
版權宣告:本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。
聯絡方式: 個人QQ 821865130 ; 倉儲技術QQ群 88718955,142050808 ;
吉特倉儲管理系統 開源地址: https://github.com/hechenqingyuan/gitwms