在CommonJS模块规范下,每个文件都是一个模块module。
如何让文件之间互相访问?
每个文件都有一个暴露向外的借口exports对象,exports对象上的属性都可以被外部文件中引用。
为了写法简单每个文件的最顶部都有:
exports = module.exports
因此exports导出文件时不能写exports = XXX,因为exports是指向modelu.exports的,只能在exports上添加需要导出的属性,exports.a=a
因此module.exports与exports是同一个对象,只是用的时候需要注意,不能给exports直接赋值,会导致exports不再指向module.exports
export是ES6的语法,export导出的是一个对象,export {a},需要在导入的时候指定同样的属性名,import {a} from ‘…’
export default 导出可以不需要指定相同的属性名。