export,export default和exports, module.exports的区别

473 阅读1分钟

require:node和es6都支持的导入

export,export default/import:只有es才支持的导入和导出

module.exports/exports: 只有node支持的导出

export 和 export default

  • export,import可以有多个,export default只可以有一个
  • 通过export方法导出,导入时需要加{},export default不需要
  • export 能直接导出变量表达式,export default不可以
  • export default 的导出在导入时可以自定义导入的变量名
  • export,export default 都可以导出变量,函数,对象

1.export的用法

a.js
export const a = 100;

export const func = function() { console.log(func) };

const b = 200;
const func2 = function() {console.log(func2)}

export {b, func2} //通过export方法导出,导入时需要加{}

2.export default 的用法

b.js
错误:
export default const a = 11 

//default是一种特殊的系统变量,export default的含义是把此命令后面的变量赋值给default这个特殊的系统变量,并把它导出到其他模块中使用。

正确:
cons a = 11

export default a

3.import 的用法

1. import {a, b} from './a.js'

2. import * as aModule from './a.js'

3. import bb from './b.js' //这里的bb可以是任意的自己定义的变量名

exports 和 module.exports

nodejs执行一个文件时,会生成export和module.exports两个对象

exports = module.exports = {}

require 导入的是module.exports指向的模块的内容