CMD、AMD、Commonjs、UMD、ESModule

134 阅读1分钟
简介

CMD、AMD、Commonjs、UMD、IIFE、ESModule等均是前端模块化程序设计的规范,即以功能块为单位进行程序设计实现其求解算法的方法(此方法即为模块化)的规范,目的是降低程序复杂度。

时间轴

AB090946-1A7B-4007-9E99-0EECE7D5CF44.png

对比表
模块规范加载方式浏览器支持服务端支持模块定义模块导出模块引入
CommonJS运行时加载FT当前文件module.exportsrequire
AMD异步加载TT(需要RequireJS 的 Node 适配器 r.js 配合使用)definereturn或使用简化的 CommonJS 包装器require
CMD运行时加载TT(需要seajs 配合使用)defineexports 或 reurn 或 module.exportsrequire
UMDAMD的加载方式或CommonJS的加载方式TTAMD的模块定义或CommonJS的模块定义AMD的模块导出或CommonJS的模块导出AMD的模块引入或CommonJS的模块引入
ESModule编译时加载TT当前文件exportimport