[[toc]]
历史
服务端:

module.exports 和 require()特点:
// 1. CJS 基本使用
// 定义模块
const obj = {
a: 1};
module.exports = obj;
// 使用模块
const obj = require('./test.js');
// 2. CJS 输出值拷贝
/*************** a.js**********************/
let count = 0
exports.count = count; // 输出值的拷贝
exports.add = ()=>{
//这里改变count值,并不会将module.exports对象的count属性值改变
count++;
}
/*************** b.js**********************/
const {
count, add } = require('./a.js')
console.log(count) //0
add();
console.log(count)//0
define(id?, dependencies?, factory) + require