ES6的模块化

ES6模块化是JavaScript的一种组织代码的方式,它允许开发者将代码分割成多个独立的部分(模块),每个模块有自己的作用域和接口,模块之间可以通过导入(import)和导出(export)进行相互引用。

基本语法

导出(Export)

在ES6中,一个模块可以导出多个值,如变量、函数、对象等。这些值可以通过export关键字进行导出。

javascript 复制代码
// 导出变量
export const name = 'ES6 Module';

// 导出函数
export function sayHello() {
  console.log('Hello, ES6 Module!');
}

导入(Import)

其他模块可以通过import关键字导入模块导出的值。

javascript 复制代码
// 导入模块
import { name, sayHello } from './module.js';

console.log(name); // 输出 'ES6 Module'
sayHello(); // 输出 'Hello, ES6 Module!'

默认导出和导入

每个模块可以有一个默认导出,使用export default进行导出。默认导出的值可以在导入时使用任意名称。

javascript 复制代码
// module.js
export default function() {
  console.log('This is the default export');
}

// main.js
import myDefaultFunction from './module.js';

myDefaultFunction(); // 输出 'This is the default export'

模块的整体加载

除了指定加载某个输出值,还可以使用整体加载,即用星号(*)指定一个对象,所有输出值都加载在这个对象上面。

JavaScript

javascript 复制代码
// lib.js
export function func1(){...}
export function func2(){...}

// main.js
import * as lib from './lib.js';

console.log(lib.func1);
console.log(lib.func2);

在上面的代码中,main.js模块加载了lib.js模块的所有导出值,它们都会挂载在lib对象上。

注意事项

  1. importexport命令只能在模块的顶层,不能在代码块(如:if语句、for循环等)中使用。
  2. 导入的模块是只读的,不能修改导入的值。
相关推荐
水淹萌龙3 分钟前
Iconify 的离线加载
开发语言·前端·javascript
GDAL7 分钟前
Electron 快速入门教程
前端·javascript·electron
外派叙利亚11 分钟前
uniapp canvas 自定义仪表盘 可滑动 可点击 中间区域支持自定义
前端·javascript·uni-app·html
比特森林探险记20 分钟前
React基础:语法、组件与JSX
前端·javascript·react.js
宁雨桥40 分钟前
Vue项目中iframe嵌入页面实现免登录的完整指南
前端·javascript·vue.js
无法长大44 分钟前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
LongJ_Sir1 小时前
Cesium--可拖拽气泡弹窗(对话框尾巴,Vue3版)
前端·javascript·vue.js
im_AMBER1 小时前
消失的最后一秒:SSE 流式联调中的“时序竞争”
前端·笔记·学习·http·sse
RFCEO1 小时前
前端编程 课程十、:CSS 系统学习学前知识/准备
前端·css·层叠样式表·动效设计·前端页面布局6大通用法则·黄金分割比例法则·设计美观的前端
白日梦想家6811 小时前
深入浅出 JavaScript 定时器:从基础用法到避坑指南
开发语言·javascript·ecmascript