讲师中心 微信公众号
AI工具推荐 视频效率加速

JavaScript模块化如何实现?JavaScript的ES6模块怎么导入导出?

轻芳同学_9221

轻芳同学_9221

发布时间:2025-06-02 10:34:11

|

306人浏览过

|

来源于php中文网

原创

<p>javascript 的模块化解决了代码组织混乱、命名冲突和依赖管理的问题。es6 引入了原生模块系统,通过 export 导出模块内容,支持命名导出(如 export { add, subtract })和默认导出(如 export default function)。通过 import 导入模块内容,命名导出可使用 import { add } from 'module',默认导出可用 import greet from 'module',也可导入所有内容为对象:import * as math from 'module'。在浏览器中使用模块需注意:模块必须通过服务器加载,script 标签需设置 type="module",模块作用域为模块级且默认启用严格模式。这些机制提升了代码结构和可维护性,尤其适用于大型项目。</p>

JavaScript模块化如何实现?JavaScript的ES6模块怎么导入导出?

JavaScript 的模块化主要是为了解决代码组织混乱、命名冲突和依赖管理的问题。ES6(ECMAScript 2015)引入了原生的模块系统,使得我们可以用更清晰、标准的方式进行模块的导入和导出。

使用 export 导出模块内容

在 ES6 中,你可以通过 export 关键字把变量、函数、类或对象从一个模块中导出。导出方式有两种:命名导出和默认导出。

命名导出适合多个功能需要被导出的情况。例如:

立即学习“Java免费学习笔记(深入)”;

// math.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;

你也可以使用大括号的形式统一导出:

// math.js
const add = (a, b) => a + b;
const subtract = (a, b) => a - b;

export { add, subtract };

默认导出适用于每个模块只导出一个主要功能的情况:

// greeting.js
export default function greet(name) {
  console.log(`Hello, ${name}!`);
}

使用 import 导入模块内容

要使用其他模块导出的内容,就需要使用 import 语句来导入。

对于命名导出的内容,可以这样导入:

// main.js
import { add, subtract } from './math.js';

console.log(add(5, 3));      // 输出 8
console.log(subtract(5, 3)); // 输出 2

如果你只想导入其中一部分,也可以只写需要的部分:

import { add } from './math.js';

而对于默认导出,导入时可以自定义名称:

import greet from './greeting.js';

greet('Alice'); // 输出 Hello, Alice!

还有一种方式是将所有导出内容作为一个对象导入:

import * as math from './math.js';

console.log(math.add(2, 3)); // 输出 5

这种方式在调试或不确定具体要用哪些函数时比较方便。

模块文件的使用注意事项

在浏览器中使用 ES6 模块时,需要注意几点:

  • 模块文件必须通过服务器加载,不能直接打开本地 HTML 文件运行(否则会因为跨域问题报错)。
  • 在 <script> 标签中要加上 type="module",例如:
<script type="module" src="main.js"></script>
  • 模块中的变量作用域是模块级别的,不会污染全局作用域。
  • 模块默认是严格模式(strict mode),不需要手动开启 'use strict'。

这些细节虽然看起来不起眼,但如果不注意,很容易导致模块无法正常运行或者出现意料之外的行为。

基本上就这些。ES6 模块机制虽然不复杂,但在实际开发中非常实用,特别是在大型项目中能有效提升代码结构和可维护性。

热门AI工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
es6新特性
es6新特性

es6新特性有:1、块级作用域变量;2、箭头函数;3、模板字符串;4、解构赋值;5、默认参数;6、 扩展运算符;7、 类和继承;8、Promise。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

265

2023.07.17

es6新特性有哪些
es6新特性有哪些

es6的新特性有:1、块级作用域;2、箭头函数;3、解构赋值;4、默认参数;5、扩展运算符;6、模板字符串;7、类和模块;8、迭代器和生成器;9、Promise对象;10、模块化导入和导出等等。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

386

2023.08.04

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

335

2025.12.24

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

2560

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

434

2023.10.07

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

337

2023.12.07

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

40

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

20

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

20

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 常见问题
phpMyAdmin 常见问题

共0课时 | 0人学习

uni-app快速上手
uni-app快速上手

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn