CommonJS和AMD

2017-08-15  本文已影响5人  吃不胖的茶叶蛋

CommonJS

CommonJS是服务器端模块的规范,Node.js采用了这个规范。

根据CommonJS规范,一个单独的文件就是一个模块。
加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象

//example.js
console.log("evaluating example.js");

var invisible = function () {
  console.log("invisible");
}

exports.message = "hi";

exports.say = function () {
  console.log(message);
}

使用require方法,加载example.js

var example = require('./example.js');

有时,不需要exports返回一个对象,只需要它返回一个函数。这时,就要写成module.exports

module.exports = function () {
  console.log("hello world")
}

AMD

CommonJS规范加载模块是同步的,AMD规范则是非同步加载模块,允许指定回调函数。

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

define(['package/lib'], function(lib){
 
    function foo(){
        lib.log('hello world!');
    } 
 
    return {
        foo: foo
    };
});

原文链接:http://yijiebuyi.com/blog/7c8ffb3a58657e01e80f3bdc747473d2.html

上一篇 下一篇

猜你喜欢

热点阅读