首页 > web前端 > js教程 > 正文

javascript模块化是什么_如何使用import和export?

夢幻星辰
发布: 2025-12-21 19:06:08
原创
421人浏览过
JavaScript模块化通过export导出、import导入实现代码拆分与复用,支持命名导出(需大括号匹配名)和默认导出(可自定义名),须注意静态语法、路径完整、浏览器需type="module"等规则。

javascript模块化是什么_如何使用import和export?

JavaScript模块化是把代码拆分成独立、可复用的文件,每个文件封装自己的功能和作用域,避免全局污染和命名冲突。核心机制就是 export 输出内容,import 引入使用。

export:暴露变量、函数或类

一个模块里可以多次用 export 导出多个东西,也可以用 export default 指定默认导出(每个模块最多一个)。

  • 命名导出(named export):导出时带名字,导入时必须用对应名字(可重命名)
// math.js
export const PI = 3.14;
export function add(a, b) {
  return a + b;
}
export class Calculator {
  multiply(x, y) { return x * y; }
}
登录后复制
  • 默认导出(default export):导出时不加名字,导入时可自定义任意名字
// utils.js
export default function formatDate(date) {
  return date.toISOString().split('T')[0];
}
登录后复制

import:在其他文件中加载模块

根据导出方式不同,导入语法也不同。注意路径必须写全(如 ./math.js),浏览器中需加 type="module" 才能启用 ES 模块。

  • 导入命名导出:用大括号 {},名字要匹配(或用 as 重命名)
// main.js
import { PI, add, Calculator } from './math.js';
import { add as sum } from './math.js'; // 重命名
登录后复制
  • 导入默认导出:不加大括号,名字随意
import formatDate from './utils.js';
import myFormat from './utils.js'; // 也可以叫 myFormat
登录后复制
  • 混合导入:默认 + 命名一起导入
import formatDate, { PI, add } from './math.js';
登录后复制

常见注意事项

ES 模块是静态的,import/export 必须写在顶层,不能放在 if 或函数里;路径是相对或绝对 URL,不支持 Node.js 的自动扩展(如 .js 后缀不能省);浏览器中 script 标签要加 type="module"

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

钉钉 AI 助理
钉钉 AI 助理

钉钉AI助理汇集了钉钉AI产品能力,帮助企业迈入智能新时代。

钉钉 AI 助理 204
查看详情 钉钉 AI 助理
<script type="module" src="./main.js"></script>
登录后复制
  • Node.js 中需把 "type": "module" 加进 package.json,或用 .mjs 后缀
  • 暂不支持直接 import HTTP 地址(除非用 CDN 提供的 ESM 兼容链接)
  • 循环引用会发生,但模块会返回已执行部分的 exports 对象(不是报错)

简单示例:跑起来试试

建两个文件:

// greet.js
export function hello(name) {
  return `Hi, ${name}!`;
}
export default function bye() {
  return 'See you later!';
}
登录后复制
// index.js
import goodbye, { hello } from './greet.js';
console.log(hello('Alice')); // Hi, Alice!
console.log(goodbye());      // See you later!
登录后复制

在 HTML 中引入:,打开控制台就能看到结果。

基本上就这些。不复杂但容易忽略细节,比如路径、后缀、script 类型——对了,别忘了浏览器控制台报错时先看是不是漏了 type="module"

以上就是javascript模块化是什么_如何使用import和export?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号