module.exports 和 exports和export和export default如何区分?
时间: 2023-06-29 10:05:54 浏览: 181
在 Node.js 中,有一些不同的导出模块的方式,包括 `module.exports`、`exports`、`export` 和 `export default`。
`module.exports` 是 Node.js 中最常用的导出方式之一。它是一个指向当前模块的引用,可以通过该引用来导出模块的内容。如果你想要导出一个对象、函数或类,你可以将其赋给 `module.exports`。
例如:
```
// greeter.js
module.exports = {
greet: function(name) {
console.log('Hello, ' + name + '!');
}
};
```
`exports` 是 `module.exports` 的一个别名,它可以用来导出一个对象或函数。例如:
```
// greeter.js
exports.greet = function(name) {
console.log('Hello, ' + name + '!');
};
```
`export` 是 ES6 中的导出语法,它用于导出模块的内容。与 `module.exports` 和 `exports` 不同,`export` 关键字只能用于导出命名的变量、函数和类。例如:
```
// greeter.js
export function greet(name) {
console.log('Hello, ' + name + '!');
}
```
`export default` 也是 ES6 中的导出语法,它用于导出一个默认的值,可以是一个对象、函数或类。每个模块只能有一个默认导出。例如:
```
// greeter.js
export default {
greet: function(name) {
console.log('Hello, ' + name + '!');
}
};
```
总的来说,`module.exports` 和 `exports` 是 Node.js 中的导出方式,而 `export` 和 `export default` 是 ES6 中的导出方式。在 Node.js 中,你可以使用任何一种方式导出模块的内容,但是在使用 ES6 模块时,你必须使用 `export` 和 `export default`。
阅读全文