单个导出
// 导出
exports.name = '孙悟空'
exports.sex = '男'
exports.showName = () => { console.log('孙悟空') }
// 导入
const obj = require('./test.js')
// 导入-解构
const { name, sex, showName } = require('./test.js')
批量导出
// 导出
module.exports = {
name: '孙悟空',
sex: '男',
showName: () => {
console.log('孙悟空')
}
}
// 导入
const obj = require('./test.js')
// 导入-解构
const { name, sex, showName } = require('./test.js')
覆盖
当单个导出和批量导出共存时,单个导出会被批量导出的语法覆盖,导入时只有批量导出的内容。因为单个导出其实是 module.exports.xx = yy
然后简写成 exports.xx = yy
,本质就是重新定义了一个导出的对象。
// 导出
exports.age = 18 // module.exports.age = 18
exports.name = '猪八戒' // module.exports.name = '猪八戒'
module.exports = {
name: '孙悟空',
sex: '男',
showName: () => {
console.log('孙悟空')
}
}
// 导入 只有批量导出的内容
const obj = require('./test.js')
// 导入-解构 只有批量导出的内容
const { name, sex, showName } = require('./test.js')