CommonJs规范
特点
- 每个文件为一个模块,内部定义的变量、函数为私有,对外不可见
- module变量代表当前模块,module为对象
- exports属性是对外接口,加载模块相当于加载module.exports属性
- require关键字加载对应模块;即返回该模块的exports对象
- 属于服务器端的模块化方案,浏览器不支持,需要构建工具编译
AMD规范
特点
语法
define(id,dependencies,factory)
require([dependencies],function(dependencies[0],dependencies[1],...){})
CMD规范
特点
语法
define(function(require, exports, module){
exports.属性=?
})
seajs.use('文件名',function(){})
ES6模块化
特点
语法
const show = () => {
document.getElementById(id).setAttribute('style', 'display: block');
}
const hide = () => {
document.getElementById(id).setAttribute('style', 'display: none');
}
export {
show,
hide
}
export const show = (id) => {
document.getElementById(id).setAttribute('style', 'display: block');
}
export const hide = (id) => {
document.getElementById(id).setAttribute('style', 'display: none');
}
import { show, hide } from './utils'