1、export
使用export向外暴露时,可以暴露多次;
但是暴露的东西必须有名字
export var a=function (){}
那么在其它文件中引入时
- 引入的必须使用原来定义的这个名字a
- 必须在{ }当中,因为它只是模块中一部分,引入的是这个a是众多export中的一个。
import {a} from './data.js'
2、export default
使用export default暴露时,只能暴露一次
暴露的东西可以没有名字
export default {
a:"",
}
那么在引入时
可以为引入的东西取任意名字,因为它就是整个模块,aaa就是整个暴露的对象。
import aaa from 'data.js'
3、module.exports
module.exports={
name:'hehehe'
}
那么引入时,需使用require进行引入
可以任意取名
var ggg=require('./a')
ggg就是整个暴露的对象。
4、导入对象
通过import导入对象,导入的是这个对象的引用。
在两个a和b中同时都导入同一个文件中的对象x,在a中修改了x对象中的内容,那么在b中的x对象也发生了变化。