首页 > Web开发 > 详细

CommonJS 和 AMD 规范?

时间:2015-02-05 18:51:47      阅读:276      评论:0      收藏:0      [点我收藏+]

1. 什么是CommonJS?

    CommonJS 是javascript模块化编程的一种规范,主要是在服务器端模块化的规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在该模块内部定义的变量,无法被其他模块读取,除非定义为global对象的属性。

    在CommonJS中有一个全局性方法require( ),用于加载模块。

    //example.js

    module.exports = function( ){ };

    example.message = "hi";

    //main.js

    var example = require("./example");

    CommonJS加载模块是同步的,只有加载完成,才能执行后面的操作,主要是由于服务端的编程模块文件都存在于本地硬盘,所以加载较快。

2. 什么是AMD 规范?

     AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。异步方式加载模块,模块的加载不影响它后面语句的执行。所有依赖这个模块的语句,都定义到一个回调函数中,等到加载完成之后,这个回调函数才会运行。

    AMD规范使用define方法定义模块:

    define(["/libs/jquery"], function(jquery){

        function log(){

            alert("hello world!");

        }

        return {

            log: log

        }

    });

    当然AMD也允许输出模块兼容CommonJS规范:

    define(function(require, exports, module){

        var module = require("module");

        module.doSometing( );

        exports.do = function(){

            module.doSometing( );

        }

    });


    

    


CommonJS 和 AMD 规范?

原文:http://my.oschina.net/myrainspace/blog/375715

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!