超简单1分钟了解 ES6 导入导出
发布日期:2021-08-25 15:35:17 浏览次数:16 分类:技术文章

本文共 1573 字,大约阅读时间需要 5 分钟。

命名导入导出(named exports)

变量

// 导出export var myVar1 = ...;export let myVar2 = ...;export const MY_CONST = ...;// 导入import { myVar1, myVar2, MY_CONST } from 'src/mylib';复制代码

方法

// 导出export function myFunc() {    ...}export function* myGeneratorFunc() {    ...}// 导入import { myFunc, myGeneratorFunc } from 'src/mylib';复制代码

// 导出export class MyClass {    ...}// 导入import { myFunc } from 'src/mylib';复制代码

对象列出所有导出内容

const MY_CONST = ...;function myFunc() {    ...}// 导出export { MY_CONST, myFunc };// 导入import { MY_CONST, myFunc } from 'src/mylib';复制代码

导出改名

// 导出export { MY_CONST as THE_CONST, myFunc as theFunc };// 导入import { THE_CONST, theFunc } from 'src/mylib';复制代码

导出从其他地方导入的模块

export * from 'src/other_module';export { foo, bar } from 'src/other_module';export { foo as myFoo, bar } from 'src/other_module';复制代码

默认导出(default export)

//------ myFunc.js ------export default function () { ... };//------ main1.js ------import myFunc from 'myFunc';myFunc();复制代码

命名导出结合默认导出

// 导出export default function (obj) {    ...};export function each(obj, iterator, context) {    ...}export { each as forEach };// 导入import _, { each } from 'underscore';复制代码

default 的别名

// 相等import { default as foo } from 'lib';import foo from 'lib';复制代码
//------ module1.js ------export default 123;// 相等//------ module2.js ------const D = 123;export { D as default };复制代码

仅支持静态导入导出

//动态导入var mylib;if (Math.random()) {    mylib = require('foo');} else {    mylib = require('bar');}//动态导出if (Math.random()) {    exports.baz = ...;}复制代码

为什么要这么做,主要是两点:

  • 性能,在编译阶段即完成所有模块导入,如果在运行时进行会降低速度
  • 更好的检查错误,比如对变量类型进行检查

转载地址:https://blog.csdn.net/weixin_33858336/article/details/87994401 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Fragment跳转的骚操作
下一篇:iOS中对瀑布流实现适配器方案

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月14日 15时43分24秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章