前情引入
今天无意间发现了这种写法
export {default as Home} from './'
export {default as Side} from './'
export {default as Nav} from './'
然后我就感觉很奇怪,JS中还支持这种语法嘛?先导入然后再导出的写法?
于是我就仔细研究了起来
拆分代码
既然这种写法是集导入导出为一体的,那么它应该可以拆分成两行代码去写
拆分前
export {default as b} from './'
拆分后
import {default as b} from './'
export b
这里你可能感觉很奇怪,怎么import还能defalut了?这里我需要花费一些文字帮你解读一下
众所周知:如果我们是export default的话,我们import的时候无需写{},直接进行导入就可以了,但是其实我们有多种导入选择。
export导出
//
var str='我爱前端'
export default str
import导入(1)
import str from './'
import导入(2)
import {default as str} from './index.js
其实,下面这种写法才是常规写法。上面直接导入的这种,只是简写而已
好了,现在你再次看我们的export from用法
export … from写法:
export {default as b} from './'
等价于:先import,再export
import {default as b} from './'
export b
是不是你就明白了它的含义呢?
举一反三
好了,它可以写export {defalut as xxx} from。那我们学会这个原理后,我们甚至可以写出下面这几个写法
export+import(先导入后导出)
//
// => import {table as Etable} from './'(1)
// => export Etable(2)
export { table as Etable } from './'//(1)+(2)= (3)
import (导入上面的module)
import {Etable} from './'
//
export var table='我的表格'
读到这里你可能会问,先导入后导出这种写法,感觉没啥用呀。导入的东西没经过处理,马上就导出了。
这里我说明一下它的意思,就是把你写的多个模块,进行批量导出的,在组件库中,它有个专业的说法叫做,统一导出资源
好了今天就分享这么多了,我还要学习更多的知识。朋友们我们下期再见