JavaScript模块化开发2

    前面提到如何使用原生JavaScript实现模块化开发,接下来讲解如何使用一些第三方规范来进行模块化开发。

    说到模块化规范,主要分为两种:CommonJS和AMD。

    1. CommonJS规范

    如果了解NodeJS的话,我们就会知道NodeJS实现了CommonJS规范,来模块化开发的。

    使用时就两步:i).定义好模块后,使用exports导出模块;ii).需要使用模块时,使用require加载。

//my.js
var myModule=function(){
     //your code content
}

//导出模块
module.exports={myModule:myModule};
//也可以使用如下导出模块:
//exports.myModule=myModule;

/*****************使用模块*************
var loadModule=require("my");

    2.AMD规范

    RequireJS实现了AMD规范。使用RequireJS进行模块化开发时,主要也是两步:i).define定义模块;ii).require加载模块

//my.js
define(['myModule'],function(myModule){
      var myfunction=function(){

      }
      return {myfunction:myfunction};
});
//其中数组[]中是你要依赖的模块,你可以依赖多个模块
//加载my.js模块
require(['my'],function(my){
    //your codes
})

//数组[]中是需要加载的模块

    综上所述,在RequireJS中,不管define还是require中,都定义了一个回调函数。我们都知道回调函数是异步操作,而Nodejs中直接使用require加载模块,没有回调函数。我们可以看到这两个规范的区别。CommonJS是同步加载模块,主要是服务器端的模块化;而AMD是异步加载模块,适合前端模块化开发。


你可能感兴趣的:(JavaScript模块化开发2)