【总结】module.exports/export/exports/export default 的用法及组合使用

447 阅读1分钟

1、module.exports导出的是模块对象本身,而exports 是指向了这个模块对象。

2、module.exports导出,会覆盖前面的exports和module.exports导出。简单来说,就是如果存在module.exports,则以最后一个module.exports输出的内容为最终输出。


exports = {
  age: 18
};
module.exports = {
  name: '张三'
}
module.exports = class Name{
  static name = '11'
  static call() {
    console.log(Name.name)  
  }
}

const a = require('./test')
console.log(a)

输出结果

3、exports和export/export default不能同时使用,会报错。

export const name = '张三';
exports.age = 18

4、exports、export 可单独多次使用。export default 一个文件只能使用一次。

export的写法可以如下几种写法,输出都是一样的

export const name = '张三';
export const age = 18;
const age = 18
const b = 2;

export {
  age,
  b
}=
const age = 18
const b = 2;

export {
  age,
}

export {
  b
}

exports.age = 17
exports.name = '李四'

5、export 和export default组合的输出简单来说是输出export的方式key值为default


const age = 18
const b = 2;

export {
  age,
}
export default b