0x000 概述
模块化是一个大型项目的必然趋势。
0x001 命名导出
可以使用export
关键字,导出你要导出的东西,可以导出常量、变量、函数、类,
// export.js
export var var0 = 'var0' // 直接导出 var 声明
export let let0 = 'let0' // 直接导出 let 声明
export const const0 = 'const' // 直接导出 const 导出
export function func1() {} // 直接导出函数
export function* funcx() {} // 直接导出生成器函数
export class class0{} // 直接导出类
let variable = 'variable'
export {variable} // 先声明后导出, 需要使用{} 包裹
function func2(){}
export {func2} // 先声明后导出,需要使用 {} 包裹
function* funcx(){}
export {funcx} // 先声明后导出,需要使用 {} 包裹
class class1{}
export {class1} // 先声明后导出,需要使用 {} 包裹
export {class1 as Person} // 别名导出
0x002 命名导入
命名导入需要使用{}
包裹,可以同时导入多个命名导出
import {var0} from './export' // 导入 var0
import {let0} from './export' // 导入 let0
import {const0} from './export' // 导入 const0
import {func1} from './export' // 导入 func1
import {funcx} from './export' // 导入 funcx
import {class0} from './export' // 导入 class0
import {var0, let0} from "./export"; // 同时导入多个命令导出
import {Person as class1} from "./export"; // 导入后取别名
0x003 默认导出
默认导出可以使用default
关键字,可以匿名导出
export default 1 // 默认导出常量
export default function () {} // 默认导出
export default () => {}
export default function* () {}
export default class {}
0x004 默认导出
因为默认导出导出的其实是匿名导出,所以导入的时候可以使用任意名字导入,并且无需使用{}
包裹
import num from './export'
import func from './export'
import arrowFunc from './export'
import generatorFunc from './export'
import class0 from './export'
0x005 全部导入
将一个模块的所有导出都导入到别名中
import * as MyModule from './export'
0x006 重定向
将另一个模块的东西当做当前模块直接导出
export {var0} from './export'
export * from './export'
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。