ES6/Commonjs/AMD的模块引用方式区别

ES6

//导出:
export { }
export default = { }
//导入:
import { } from ..

Commonjs:(使用于服务器端,同步加载)

模块定义与加载:

// foo.js
module.exports = function(x) {
	console.log(x);
};

// main.js
var foo = require("./foo");
foo("Hi");

AMD:(适用于浏览器端,异步加载)(require.js)

	//模块的加载:
  // main.js
  require(['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC){
    // some code here
  });
	//模块加载时指定模块路径
  require.config({
    baseUrl: "js/lib",  //指定模块路径的根路径
    paths: {

      "jquery": "jquery.min", //模块名称与模块路径对应
      "underscore": "underscore.min",
      "backbone": "backbone.min"
    }
  });
	//模块的定义
    //此模块的定义又依赖其他模块时可在define中加第一个参数,如没有可不加
  define(['myLib'], function(myLib){ 
    function foo(){
      myLib.doSomething();
    }
    return {
      foo : foo
    };
  });

猜你喜欢

转载自blog.csdn.net/httguangtt/article/details/85322370