各个模块使用场景及其导入导出基本语法,让你看一眼代码就知道这是什么类型模块。
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
}