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是否可以互换使用?
不可以,二者是等价的,但不能在同一个模块中混用。
➡️