ES6自定义模块

在ES6中,我们可以使用 exportimport 关键字来定义和使用自定义模块。

定义模块

导出(export)
  1. 命名导出(Named Exports)

    使用 export 关键字来导出模块中的变量、函数、类等。例如:

    javascript 复制代码
    // mathUtils.js
    export const sum = (a, b) => a + b;
    export const subtract = (a, b) => a - b;

    这里我们导出了 sumsubtract 函数。

  2. 默认导出(Default Export)

    使用 export default 关键字可以导出模块的默认值,一个模块只能有一个默认导出。例如:

    javascript 复制代码
    // utils.js
    const multiply = (a, b) => a * b;
    export default multiply;

    这里我们默认导出了 multiply 函数。

使用模块
导入(import)

使用 import 关键字来引入其他模块导出的内容。

  1. 命名导入(Named Imports)

    引入命名导出的变量、函数等。例如:

    javascript 复制代码
    // app.js
    import { sum, subtract } from './mathUtils';
    
    console.log(sum(5, 3)); // 输出 8
    console.log(subtract(5, 3)); // 输出 2
  2. 默认导入(Default Imports)

    引入默认导出的内容。例如:

    javascript 复制代码
    // app.js
    import multiply from './utils';
    
    console.log(multiply(5, 3)); // 输出 15
  3. 混合导入(Mixing Named and Default Imports)

    可以同时导入命名导出和默认导出。例如:

    javascript 复制代码
    // app.js
    import multiply, { sum } from './utils';
    
    console.log(sum(5, 3)); // 输出 8
    console.log(multiply(5, 3)); // 输出 15

注意事项

  • exportimport 必须在顶层作用域使用,不能嵌套在函数或条件语句中。
  • 导入路径可以是相对路径或者绝对路径。
  • 模块的导出和导入是静态的,意味着在编译阶段就确定了导入模块的内容。

使用ES6模块系统能够帮助我们更好地组织和管理JavaScript代码,提高代码的可维护性和可重用性。

相关推荐
前端 贾公子1 天前
v-if 与 v-for 的优先级对比
开发语言·前端·javascript
bug总结1 天前
Vue3 实现后台管理系统跳转大屏自动登录功能
前端·javascript·vue.js
用户47949283569151 天前
同事一个比喻,让我搞懂了Docker和k8s的核心概念
前端·后端
烛阴1 天前
C# 正则表达式(5):前瞻/后顾(Lookaround)——零宽断言做“条件校验”和“精确提取”
前端·正则表达式·c#
C_心欲无痕1 天前
浏览器缓存: IndexDB
前端·数据库·缓存·oracle
郑州光合科技余经理1 天前
技术架构:上门服务APP海外版源码部署
java·大数据·开发语言·前端·架构·uni-app·php
GIS之路1 天前
GDAL 实现数据属性查询
前端
PBitW1 天前
2025,菜鸟的「Vibe Coding」时刻
前端·年终总结
mwq301231 天前
不再混淆:导数 (Derivative) 与微分 (Differential) 的本质对决
前端
小二·1 天前
Vue 3 组件通信全方案详解:Props/Emit、provide/inject、事件总线替代与组合式函数封装
前端·javascript·vue.js