(转)RequireJS shim 用法说明

Posted sai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(转)RequireJS shim 用法说明相关的知识,希望对你有一定的参考价值。

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;

});
技术分享图片

以上是关于(转)RequireJS shim 用法说明的主要内容,如果未能解决你的问题,请参考以下文章

requirejs中 shim

模块化开发RequireJS之shim配置

requireJS - 多页 shim 中不匹配的匿名 define() 模块

使用requireJS的shim参数 解决插件 jquery.ui 等插件问题

RequireJS - 垫片为CoffeeScript的脚本

requirejs jquery和bootstrap加载顺序