NodeJS与ES6的模块化
NodeJS的module 对于 circle.js // 这种导出方式,相当于将变量地址导出,会被外界修改 exports.varA = 'varA' exports.func1 = () => { console.log('func1') } module.exports.varB = 'varB' // 以上写法等价于 module.exports = { varA: 'varA', varB: 'varB', func1 () { console.log('func') } } 在 main.js 中可以这么引入 let math = require('./utils/math') console.log(math.varA) console.log(math.varB) math.func1() math.varA = 'A'; math.varB = 'B'; math.func1 = () => { console.log('another func') } let math2 = require('./utils/math') // varA, varB 和 func1 都发生了改变,证明import进来的模块是单例的 console.log(math2.varA) console.log(math2.varB) math2.func1() ES6的module ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。...