简单的例子:
// a.js
export const a = 'I am a'
// index.js
import { a } from './a.js'
console.log(a) // I am a
// default.js
const defaultOne = 'default_one'
const defaultTwo = 'default_two'
const defaultThree = 'default_three'
export const defaultFour = 'default_four'
export default {
defaultThree,
defaultTwo,
defaultOne
}
// index.js
import defaultModule, { defaultFour } from'./default'
// export_1.js
// 第一种方式
export const exportStr = 'export_str'
export const exportFun = function () {
console.log('exportFun')
}
const exportNum = 100
const exportBoo = true
// 第二种方式
export {exportNum, exportBoo}
// index.js
import {
exportNum,
exportBoo,
exportStr,
exportFun } from './export_1'
两种方式是等价的
// export_import_as.js
const exportAsStr = 'export_as_str'
const exportAsNum = 'export_as_num'
const exportAsBoo = false
export {
exportAsStr as strResetName,
exportAsNum as numResetName,
exportAsBoo
}
// index.js
import {
strResetName,
numResetName,
exportAsBoo as importResetName
} from './export_import_as'
// position.js
{
export const position = 'inner' // error 'import' and 'export' may only appear at the top level
}
// index.js
console.log('我在顶部')
import { position } from './position' // error Import in body of module; reorder to top
// module_all.js
export const testOne = 'one'
export const testTwo = 'two'
export const testThree = 'three'
export default {
defaultStr: '在整体导出中的默认导出对象'
}
// index.js
import * as all from './module_all'
默认导出 module_all.js 中所有变量组成的对象,包括默认和非默认的输出,如图:
// a.js
export const a = 'I am a'
export default {
defaultA: 'default_a'
}
// b.js
export const b = 'I am b'
export default {
defaultA: 'default_b'
}
// index.js
// 先输入再输出, 这种方式不可取,变量很多的时候就会出问题,
import dafaultA, { a } from './a'
import { b } from './b'
export {
a,
b
}
export default dafaultA
// 先输入再输出 第一种方式 不能获得 export default 的变量
// export * from './a'
// export * from './b'
// main.js
import * as moduleInhert from ''
在使用 export * from fliePath 实现模块继承的时候,注意子模块不要用 export default,这个方式会自动忽略 export default
// a.js
let num = 90
let count = function () {
return ++num
}
export {
num,
count
}
// index.js
import {count, num} from './a'
console.log(num) // 90
console.log(count()) // 91
console.log(num) // 91
a.js 有两个变量:num 和 count 。 num 的初识值为 90 ,count 是一个进行累加的函数,每次执行 num +1 之后给 num 赋值。在a.js 是被当作一个对象 export .在 index.js 中 import 并使用。