import和export的產(chǎn)生主要是為了JS的模塊化和按需引用
使用方法
export
- export標(biāo)識(shí)符表示需要發(fā)布的模塊
export const PI = 3.14
export function getInitState(){return state}
export _THIS_IS_A_VERY_LONG_NAME_ = true
import
- 按需要引入從其他地方發(fā)布的模塊
- 別名功能很有用, 可以改掉太長的名字, 也可以引入兩個(gè)相同名字的模塊.
import { PI , getInitState } from './path'
import { _THIS_IS_A_VERY_LONG_NAME__ as longName} from './path'
console.log(PI)
getInitState()
console.log(longName)
import *
- 如果某個(gè)文件發(fā)布了一堆東西, 這些東西都要用, 可以考慮用import *
import * as myImport from './path'
console.log(myImport.PI)
myImport.getInitState()
export default
- 如果某個(gè)文件只發(fā)布一個(gè)東西, 那么可以考慮用export default
- 默認(rèn)發(fā)布的模塊引用的方法是 import xxx from './path', 不加花括號(hào)
- import * 是選不到默認(rèn)發(fā)布的東西的
export function func1(){}
export function func2(){}
export function func3(){}
const funcGroup = {func1,func2,func3}
export default funcGroup
import funcGroup , {func1,func2,func3} from './path'
- 這樣func1和funcGroup.func1是指向同一個(gè)函數(shù), 很多框架都是這樣處理的.