module.exports、exports、export、export default的区别

CommonJS模块规范

  • 方式一

exports.userInfo = name // 导出模块

const object = require(文件路径) // 此时object的值为 {userInfo : name} 对象

  • 方式二

exports.userInfo = {name} // 导出模块

const object = require(文件路径) // 此时object的值为 {userInfo : {name: '模块'}} 对象

  • 方式三

module.exports = name // 导出模块

const object = require(文件路径) // 此时object的值为 name

  • 方式四

module.exports = {name} // 导出模块

const object = require(文件路径) // 此时object的值为 {name} 对象

ES6模块规范

export { firstName, lastName, year }

import { firstName, lastName, year } from '文件'

import 中大括号里面的变量名,必须与被导入模块(export)对外接口的名称相同。

export default只能输出一个默认的模块,并且在import的时候可以取任意名字,也可以不用加大括号

 

 

 

你可能感兴趣的:(个人总结)