Jamey's Jamey's
首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于

Jamey

首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于
  • 深入系列

  • 专题系列

  • underscore系列

  • ES6系列

  • 模块化

    • 模块化
    • 模块导入 import
    • 模块导出 export
    • 模块导入/导出的复合写法
      • 一. 模块整体转发
      • 二. 模块部分接口转发
      • 三. 模块部分重命名转发
      • 四. 默认模块转发
      • 五. 命名模块改默认模块
      • 六. 默认模块改命名模块
      • 七. 无对应写法场景
    • 模块继承
    • 跨模块常量
    • 动态加载
  • 正则表达式

  • 单元测试

  • 微前端

  • 实用函数

  • Rollup

  • 解决方案

  • 《JavaScript》笔记
  • 模块化
Jamey
2022-03-06
目录

模块导入/导出的复合写法

# 模块导入/导出的复合写法

如果在一个模块之中,先输入后输出同一个模块,import 语句可以与 export 语句写在一起。

# 一. 模块整体转发

从 module 模块整体导入后,直接完整导出。

export * from 'module';
1

# 二. 模块部分接口转发

从 module 模块导入 foo 和 bar,并直接导出这两个接口。

export { foo, bar } from 'module';

// 可以理解为
import { foo, bar } from 'module';
export { foo, bar };
1
2
3
4
5

实际上,这样的写法只是相当于对外转发了这两个接口,当前模块不能直接使用这两个接口。

# 三. 模块部分重命名转发

模块导入的接口重命名,从 module 导入 foo 接口,并以 newFoo 的名义导出。

export { foo as newFoo } from 'module';
1

# 四. 默认模块转发

export { default } from 'module';
1

# 五. 命名模块改默认模块

export { foo as default } from './module';

// 等同于
import { foo } from './module';
export default foo;
1
2
3
4
5

# 六. 默认模块改命名模块

export { default as foo } from './module';
1

# 七. 无对应写法场景

下面三种写法,没有对应的复合写法:

  • 命名模块重命名转发
  • 默认模块转发
  • 整体和部分模块共同转发
// 命名模块重命名转发
import * as foo from './module';

// 默认模块转发
import foo from './module';

// 整体和部分模块共同转发
import foo, { namedFoo } from './module';
1
2
3
4
5
6
7
8

为了做到形式的对称,现在提案,提出补上这三种复合写法。

export * as foo from './module';

export foo from './module';

export foo, { namedFoo } from './module';
1
2
3
4
5
#JavaScript 模块化
上次更新: 2022/07/01, 17:34:19
模块导出 export
模块继承

← 模块导出 export 模块继承→

Theme by Vdoing | Copyright © 2017-2023 Jamey | blog 闽ICP备19022664号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式