import和export的产生主要是为了JS的模块化和按需引用
使用方法
export
- export标识符表示需要发布的模块
export const PI = 3.14
export function getInitState(){return state}
export _THIS_IS_A_VERY_LONG_NAME_ = true
import
- 按需要引入从其他地方发布的模块
- 别名功能很有用, 可以改掉太长的名字, 也可以引入两个相同名字的模块.
import { PI , getInitState } from './path'
import { _THIS_IS_A_VERY_LONG_NAME__ as longName} from './path'
console.log(PI)
getInitState()
console.log(longName)
import *
- 如果某个文件发布了一堆东西, 这些东西都要用, 可以考虑用import *
import * as myImport from './path'
console.log(myImport.PI)
myImport.getInitState()
export default
- 如果某个文件只发布一个东西, 那么可以考虑用export default
- 默认发布的模块引用的方法是 import xxx from './path', 不加花括号
- import * 是选不到默认发布的东西的
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是指向同一个函数, 很多框架都是这样处理的.