【ES6】模块化

nodejs遵循了CommonJs的模块化规范

导入 require()

导出 module.exports

模块化的好处:

  • 模块化可以避免命名冲突的问题
  • 大家都遵循同样的模块化写代码,降低了沟通的成本,极大方便了各个模块之间的相互调用
  • 需要啥模块,调用就行

在es6模块化诞生之前, JavaScript社区就有了AMD、CMD、CommonJS(民间)

AMD、CMD适用于浏览器端的JavaScript模块化

CommonJS适用于服务器端的JavaScript模块化

太多的模块化规范给开发者增加了学习难度与开发的成本,因此官方的es6模块化规范诞生了。

为什么要学习es6模块化规范

官方提供

es6模块化浏览器端服务器都可以适用

es6模块化

导入 import

导出 export

使用步骤
  1. 确保安装了v13.0.0或更高版本的node.js
  2. 在package.json的根节点中添加"type": "module"节点
默认导入导出

默认导入 import 变量 from '文件路径'

默认导出 export default 内容

一个文件只能有一个默认导出

按需导入导出

按需导入 import {age} from '文件路径';

还可起别名 import {age as age1} from '文件路径';

按需导出 export let age = 18;

直接导入无导出

import '文件路径';

相关推荐
钛态4 小时前
Vite 中的 CSS 工程化:从 CSS Modules 到 UnoCSS 的渐进式迁移
前端·vue·react·web
Csvn5 小时前
原型链、this 与闭包内存:三座深水区一次打通(含内存泄漏排查实战)
前端·javascript
葡萄城技术团队6 小时前
如何通过 JSON 数据源 / Web API 快速构建轻量级报表(Report)?
前端·json·原型模式
浪兎兎6 小时前
【Java Web】Servlet + JSP 笔记
java·前端·servlet
Patrick_Wilson7 小时前
iOS Safari Clipboard API 权限弹窗问题
前端·ios·safari
OpenTiny社区7 小时前
Naive UI × GenUI SDK:自定义物料库搭建实战
前端·ai编程
kyriewen8 小时前
我拿 4 个真实前端任务试了 GLM-5.3 Flash:代码一遍跑通,账单 4 分钱
前端·程序员·ai编程
IT_陈寒8 小时前
Vue的响应式更新有时候真的不听话
前端·人工智能·后端
风骏时光牛马8 小时前
AI编程常见问题梳理与要点解析
前端
前端snow8 小时前
ai agent -- LCEL 汇总
前端