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

跨模块常量

# 跨模块常量

由于 const 声明的变量只在当前代码块有效,如果想设置跨模块的常量(即跨多个文件),或者说一个值要被多个模块共享,可以采用下面的写法。

// constants.js 声明后命名导出
export const a = 1;
export const b = 2;
export const c = 3;

// module1.js 命名空间导入
import * as constants from './constants.js';
console.log(constants.a);
// 1
console.log(constants.b);
// 2

// module2.js 命名导入
import { a, b } from './constants.js';
console.log(a);
// 1
console.log(b);
// 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

如果要使用的常量非常多,可以建一个专门的 constants 目录,将各种常量写在不同的文件里面,保存在该目录下。

// constants/a.js
export const a = {
  a1: 'a1',
  a2: 'a2',
  a3: 'a3'
}

// constants/b.js
export const b = ['b1', 'b2', 'b3', 'b4', 'b5']
1
2
3
4
5
6
7
8
9

然后,将这些文件输出的常量,合并在 index.js 里面。

// constants/index.js
export { a } from './a';
export { b } from './b';
1
2
3

使用的时候,直接加载 index.js 就可以了。

// module.js
import { a, b } from './constants';
1
2
#JavaScript 模块化
上次更新: 2022/07/01, 17:34:19
模块继承
动态加载

← 模块继承 动态加载→

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