【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 '文件路径';

相关推荐
狗哥哥21 小时前
企业级 Vue3 + Element Plus 主题定制架构:从“能用”到“好用”的进阶之路
前端·css·架构
星辰引路-Lefan21 小时前
[特殊字符] 开源一款基于 PaddleOCR 的纯离线 OCR 识别插件 | 支持身份证、银行卡、驾驶证识别
前端·开源·ocr
Cache技术分享21 小时前
285. Java Stream API - 通过 Supplier 创建 Stream
前端·后端
阿基米东21 小时前
从嵌入式到前端的探索之旅,分享 5 个开源 Web 小工具
前端·javascript·github
hxjhnct21 小时前
响应式布局有哪些?
前端·html·css3
LYFlied21 小时前
【每日算法】LeetCode215. 数组中的第K个最大元素
前端·算法
怎么就重名了21 小时前
Kivy的KV语言总结
前端·javascript·html
jqq66621 小时前
解析ElementPlus打包源码(四、打包主题)
前端·javascript·vue.js
代码猎人21 小时前
类数组对象是什么,如何转化为数组
前端
duanyuehuan21 小时前
js 解构赋值
开发语言·前端·javascript