export和module.exports区别
时间: 2023-04-25 09:00:40 浏览: 125
export和module.exports都是用于导出模块的关键字,但是在使用上有一些区别。
1. export是ES6中的关键字,用于导出模块中的变量、函数或类等,可以导出多个成员,使用时需要使用import进行引入。
2. module.exports是Node.js中的关键字,用于导出整个模块,可以导出一个对象或者一个函数,只能导出一个成员,使用时需要使用require进行引入。
总的来说,export适用于ES6模块化开发,而module.exports适用于Node.js模块化开发。
相关问题
export default和module.exports区别
`export default` 和 `module.exports` 都是用于导出模块的关键字,但是它们的使用方式和用途有所不同。
在 ES6 中,使用 `export default` 可以导出一个默认的模块,即一个模块只能有一个默认导出。例如:
```
// module.js
const name = 'module';
export default name;
// index.js
import moduleName from './module';
console.log(moduleName); // 输出 'module'
```
在 CommonJS 中,使用 `module.exports` 可以导出一个模块,可以导出多个变量或者函数。例如:
```
// module.js
const name = 'module';
module.exports = {
name,
getName() {
console.log(this.name);
}
}
// index.js
const moduleObj = require('./module');
console.log(moduleObj.name); // 输出 'module'
moduleObj.getName(); // 输出 'module'
```
需要注意的是,在一个模块中只能使用一个默认导出,但是可以使用多个命名导出。而在 CommonJS 中,可以使用 `exports` 对象添加多个导出,但是不能使用 `exports` 对象来覆盖 `module.exports`,因为 `exports` 对象只是对 `module.exports` 的一个引用。
module.exports 和 exports和export和export default区别
这些关键字都是用于在一个模块中导出值的。下面是它们的区别:
- `module.exports`:是一个指向当前模块导出对象的引用,可以通过赋值改变其指向,实现导出任何类型的值,包括对象、函数、字符串等。例如:`module.exports = { name: 'John' }`。
- `exports`:是指向 `module.exports` 的引用,也可以通过赋值改变其指向,但是不能直接给 `exports` 赋值,因为这会断开 `exports` 和 `module.exports` 之间的引用关系。例如:`exports.age = 18`。
- `export`:是 ES6 模块导出语法中的关键字,用于导出值,在导出时需要使用花括号 `{}` 包裹要导出的内容,可以一次导出多个值。例如:`export { name, age }`。
- `export default`:是 ES6 模块导出语法中导出默认值的关键字,导出时不需要使用花括号 `{}`,一个模块只能导出一个默认值。例如:`export default { name: 'John', age: 18 }`。
阅读全文