export exports module.exports 这三个命令的区别是什么如何使用?

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

本文介绍了JavaScript中的模块化规范,包括ES6的`export`和Node.js的`exports`与`module.exports`。`export`用于声明可被其他模块访问的内容,而`exports`和`module.exports`用于Node.js模块,二者不可混用。

🎯

关键要点

  • export是ECMAScript 6(ES6)中引入的模块化规范,用于声明可被其他模块访问的变量、函数或对象。
  • 在Node.js中,可以使用exports或module.exports来实现CommonJS模块规范,但二者不可混用。
  • 如果在同一个模块中同时使用exports和module.exports,后面的会覆盖前面的。
  • 在Node.js中使用ES6模块化语法时,可以将文件扩展名设置为.mjs,或在package.json中添加'type': 'module'字段。
  • export主要用于前端JavaScript文件的编写,而exports和module.exports用于Node.js项目。

延伸问答

export、exports和module.exports的主要区别是什么?

export是ES6模块化规范,用于声明可被其他模块访问的内容;而exports和module.exports是Node.js的CommonJS模块规范,二者不可混用。

如何在Node.js中使用ES6模块化语法?

可以将文件扩展名设置为.mjs,或在package.json中添加'type': 'module'字段。

在同一个模块中同时使用exports和module.exports会发生什么?

后面的会覆盖前面的,导致前面的声明失效。

export关键字主要用于哪些场景?

export主要用于前端JavaScript文件的编写。

如何在Node.js中导入使用exports的模块?

可以使用require函数导入模块,例如:const moduleB = require('./m_b.js');

exports和module.exports是否可以互换使用?

不可以,二者是等价的,但不能在同一个模块中混用。

➡️

继续阅读