SeaJS下使用JQuery

    Sea.js 追求简单、自然的代码书写和组织方式,能够以简洁的方式管理JS代码,并能遵循CMD规范进行模块化的开发。

    在实际开发中,首当其冲的问题就是如何与已有的JS代码进行集成,其中与JQuery的集成最为常见。在官方文档中记录有针对JQuery的改造方法,使其能与SeaJS进行集成。

    1.官网中记录的改造JQuery方法

    由于JQuery本身就有对AMD规范与CommonJS的支持,在其代码中包含以下定义:

if ( typeof module === "object" && module && typeof module.exports === "object" ) {    module.exports = jQuery;
} else {    window.jQuery = window.$ = jQuery;    if ( typeof define === "function" &&  ) {
        define( "jquery", [], function () { return jQuery; } );
    }
}

我们只需要将其中的 define.amd 改为 define 即可。

    2.其他改造JQuery方法

    虽然JQuery本身没有直接支持CMD规范,但我们可以在已有JQuery基础上进行二次封装,使其变成支持CMD规范的模块:

define(function(){    
    //jquery源代码    
    
    return $.noConflict();
});

该方法将返回一个符合CMD规范的模块,这样SeaJS就可以对其进行管理与调用了。

    以上两种方法都以简单有效的方式使JQuery兼容了SeaJS,任选其一均可。


    参考资料:https://github.com/seajs/seajs/issues/971

                     http://www.tuicool.com/articles/bmuaEb

                     http://www.w3school.com.cn/jquery/core_noconflict.asp

你可能感兴趣的:(JavaScript,jquery,seajs,cmd规范)