当前位置: 首页 > article >正文

【前端】ES6模块化

文章目录

  • 1. 模块化概述
    • 1.1 什么是模块化?
    • 1.2 为什么需要模块化?
  • 2. 有哪些模块化规范
  • 3. CommonJs
    • 3.1 导出数据
    • 3.2 导入数据
    • 3.3 扩展理解
    • 3.4 在浏览器端运行
  • 4.ES6模块化

参考视频地址

1. 模块化概述

1.1 什么是模块化?

  • 将程序文件依据一定规则拆分成多个文件,这种编码方式就是模块化的编码方式.
  • 拆分出来每个文件就是一个模块,模块中的数据都是私有的,模块之间互相隔离
  • 同时也能通过一些手段,可以把模块内的指定数据"交出去",供其他模块使用

1.2 为什么需要模块化?

随着应用的复杂度越来越高,其代码量和文件数量都会急剧增加,会主键引发以下问题:

  1. 全局污染问题
  2. 依赖混乱问题
  3. 数据安全问题

2. 有哪些模块化规范

在这里插入图片描述

3. CommonJs

参考nodejs部分

3.1 导出数据

在CommonJs标准中,导出数据有两种方式

  1. module.exports=value
  2. exports.name=value

注意:

  1. 每个模块内部的:this,exports,modules.exports在初始初始化时,都指向同一个空对象,该空对象就是当前模块到处的数据,如下图:
    在这里插入图片描述
  2. 无论如何修改到处对象,最终导出的都是module.exports的值.
  3. exports是对modules.exports的初始引用,仅为了方便导出对象添加属性,所以不能使用exports=value的形式导出数据,但是可以使用module.exports=xxx导出数据

在这里插入图片描述

3.2 导入数据

//方式1
// var school = require('./school.js');
// console.log(school.name)
//方式2 (解构)
var {name,getTel,getCities} = require('./school.js');
//结构时重命名
var {name:stuName,getTel:stuTel,getHobby} = require('./student.js');
console.log(name)
console.log(stuName)
console.log(getTel)
console.log(stuTel)

3.3 扩展理解

在这里插入图片描述

3.4 在浏览器端运行

在这里插入图片描述

4.ES6模块化

ES6模块化规范是一个官方标准的规范,它是在语言标准的层面上实现了模块化功能,是目前最流行的模块化规范,且浏览器与该服务端均支持该规范.


http://www.kler.cn/a/531035.html

相关文章:

  • [250203] glibc 2.41 发布 | Flutter 颜色管理库 color_palette_plus 2.0.0 发布
  • 顺序打印数字的进一步理解
  • Python教学:文档处理及箱线图等
  • ChatGPT-4o和ChatGPT-4o mini的差异点
  • 洛谷 P10289 [GESP样题 八级] 小杨的旅游 C++ 完整题解
  • Windows程序设计10:文件指针及目录的创建与删除
  • 大模型综合性能考题汇总
  • 【PyQt】keyPressEvent键盘按压事件无响应
  • 单行函数与聚合函数
  • Windows 安装Linux子系统
  • Autosar CP RTE规范解读之RTE与VFB以及RTE API关系解析
  • 【机器学习篇】K-Means 算法详解:从理论到实践的全面解析
  • 高阶开发基础——快速入门C++并发编程3
  • 掌握 HTML5 多媒体标签:如何在所有浏览器中顺利嵌入视频与音频
  • va_list va_start va_end的概念和使用案例
  • python:如何播放 .spx 声音文件
  • Mac电脑上最新的好用邮件软件比较
  • Docker环境下Nacos的保姆级安装教程
  • UE PlayerState
  • 【FreeRTOS 教程 八】直达任务通知
  • YOLOV11-1:YoloV11-安装和CLI方式训练模型
  • 使用Express.js和SQLite3构建简单TODO应用的后端API
  • cf div3 998 E(并查集)
  • 几种用户鉴权的方式对比
  • Kamailio、MySQL、Redis、Gin后端、Vue.js前端等基于容器化部署
  • 讲清逻辑回归算法,剖析其作为广义线性模型的原因