ES6 导入导出

ES6 导入导出

ES6引入了原生的模块化支持,使得JavaScript代码可以被划分为可重用的模块。这些模块可以导出部分代码(如函数、对象、类等),并被其他模块导入使用。


export
  1. 命名导出(Named Exports)

可以从模块中导出多个值。每个值的导出都有一个名称。

javascript 复制代码
// file: mathFunctions.js
export const add = (x, y) => x + y;
export const subtract = (x, y) => x - y;
  1. 默认导出 (Default Exports)
javascript 复制代码
// file: MyComponent.js
export default class MyComponent {
  // class definition
}

import - 导入
导入命名导出
  1. 使用花括号{}来导入特定的命名导出。
javascript 复制代码
// file: main.js
import { add, subtract } from './mathFunctions.js';

console.log(add(2, 3)); // 5
  1. 导入默认导出时,不使用花括号,并且可以指定任意名称
javascript 复制代码
// file: App.js
import MyComponent from './MyComponent.js';
  1. 混合导入,可以同时导入默认导出和命名导出
javascript 复制代码
// 假设 MyLibrary.js 中有默认导出和命名导出
import MyLibrary, { someFunction } from './MyLibrary.js';

和上边的导入和导出都不一样的一个例子。

Mock.js 的工作原理与常规的模块导出导入有所不同。当你在文件中引入 Mock.js 并调用 Mock.mock() 方法时,你实际上是在执行一个"全局"操作,它影响的是整个应用的网络请求层。

javascript 复制代码
import Mock from 'mockjs'
Mock.mock('/api/food', {...})

为什么不需要 export

在你的 mock.js 文件中,你并不需要导出任何东西,因为你的目的是执行配置,而非提供可以在其他地方使用的函数或对象。

当你在 main.js 中做了如下引入:

复制代码
javascriptCopy code
import './mock/index'

你实际上是在执行 mock/index.js 文件中的代码,其中包括 Mock.mock() 方法的调用。这些调用在应用启动时执行,从而设置了全局的Mock规则。这就是为什么即使没有 export,它仍然能够生效的原因。

相关推荐
ZC跨境爬虫3 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人4 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang4 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家4 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
前端摸鱼匠6 小时前
Vue 3 的v-bind合并行为:讲解v-bind与普通属性合并的规则
前端·javascript·vue.js·前端框架·ecmascript
REDcker6 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
donecoding7 小时前
一个 sudo 引发的血案:npm 全局包权限错乱彻底修复
前端·node.js·前端工程化
风骏时光牛马7 小时前
Raku正则匹配与数据批量处理实操案例
前端
nbwenren8 小时前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
Lee川8 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端