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
