amd,cmd,umd,commonjs,esmodule

各个模块使用场景及其导入导出基本语法,让你看一眼代码就知道这是什么类型模块。

AMD

使用场景:require.js,浏览器端,异步加载模块
导入语句:

require(['module-name'], function (module) { 
// 使用module 
});

导出语句:

define(['dependency1', 'dependency2'], function (dep1, dep2) {
  return {
    export1: value1,
    export2: value2
  };
});

CMD

使用场景:sea.js,服务器端,同步加载模块
导入语句:

const module = require('module-name');

导出语句:

define(function (require, exports, module) {
  const export1 = value1;
  const export2 = value2;
}

UMD

使用场景:commonjs+amd+环境变量,既可以跑在node环境,也可以浏览器环境
环境判断语句:

(function(global,factory) {
  typeof module!=='undefined'&& typeof exports==='object'?module.exports=factory():
  typeof define==='function' && define.amd ? define(factory):
  (global = global || self,global.Sortable = factory())
}(this,(function(){'use strict'}))
)

commonJs

使用场景:常用于node.js后台开发
导入语句:

const a = require('lodash');

​​​导出语句

module.exports = 变量名;

esMoudle

使用场景:前端日常开发(react,vue)
导入语句:

import a from 'A';

导出语句

export default A;
export {
  A,
  b
}


版权声明:本文为kalinux原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。