CJS

CommonJS的缩写。可在Node环境中直接运行,无法在浏览器中直接运行

const fs = require('fs'); 

module.exports = function readDir(filepath) {
  return fs.readdirSync(filepath);
}

AMD

Asynchronous Module Definition,异步模块定义。可以在前端中直接运行


UMD

Universal Module Definition,通用模块定义


ESM

ES Modules,ES模块。在大部分现代浏览器中都是可以直接运行的,但是会有兼容性,所以一般需要使用Babel之类的工具转换

<script type="module">
import hello from './hello';
hello('world');
</script>