2.0 KiB
2.0 KiB
js中的import和export
-
export
- js中的导出方式可以分为两类
- named export: 同一个文件中可以导出多个named export
// 导出预先定义的变量,按列表的形式 export {myFunction,myVariable} // 导出重命名的变量,以列表形式 export {var1 as name1,var2 as name2...}- default export:每一个module只允许有一个default export
export {var as default} export default function () {} export default class - export from 语法:
export {default as name1,name2} from './other_modules.js' // 等效于 import {default as name1,name2} from './other_modules.js' export {name1,name2} - js中的导出方式可以分为两类
-
import
- import特性:
- import用来导入被其他module导出的read-only绑定值
- import无法在嵌入的脚本(script标签中)使用,除非其script标签的type属性为module
- import语法
// 导入default export import defaultExport from './other_module.js' // 导入module中所有输出到命名空间 import * as other_module from './other_module.js' // 引用时可以将other_module视为引用导入module中导出元素的命名空间 other_module.exportFunction() // 导入单个元素 import {myExport} from './other_module.js' // 导入时进行重命名 import {myLongVariableName as shortName} from './other_module.js' // 导入default export import defaultExport from './other_module.js' - import特性:
-
dynamic import
- 动态加载:
- 静态加载会在启动时加载大量不会马上被用到的module,这回花费大量的时间
- 有些module在启动时可能并不存在
- 动态加载相比与静态加载,其可以通过import()函数在需要的时候才对module进行加载
- import函数详情
- import函数是一个异步函数,其接收一个module路径字符串并且返回一个promise,并且,该方法支持await关键字
- 动态加载: