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指向的模块的内容