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. 导入的模块是只读的,不能修改导入的值。
相关推荐
小小前端要继续努力几秒前
Islands Architecture(岛屿架构)
前端·edge
Liu.7744 分钟前
vue使用lodop控件打印
前端·javascript·vue.js
OpenTiny社区11 分钟前
TinySearchBox 综合搜索组件重磅更新:实现 Vue 2 和 Vue 3 双版本适配!
前端·javascript·vue.js
GDAL18 分钟前
HTML 实现登录状态记录 深入全面讲解教程
前端·html·登录验证
(づど)19 分钟前
一套齐全的环境设置:nvm\node\nrm\pnpm
前端·笔记
晷龙烬22 分钟前
Vue 3 自定义指令:从“瑞士军刀”到“专属工具” !
前端·javascript·vue.js
MediaTea24 分钟前
思考与练习(第四章 程序组成与输入输出)
java·linux·服务器·前端·javascript
BD_Marathon26 分钟前
【JavaWeb】NPM_简介和相关配置
前端·npm·node.js
咸鱼加辣29 分钟前
【前端框架】react
前端·react.js·前端框架
unicrom_深圳市由你创科技29 分钟前
Vue 3 高效开发技巧总结
前端·javascript·vue.js