持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情
今天开始和大家一起系统的学习ES6+,每天3分钟,用一把斗地主的时间,重学ES6+,前面我们介绍了异步代码处理方案,今天介绍模块化的历史
一个个小的结构
;自己的逻辑代码
,有自己的作用域
,不会影响到其他的结构; 变量、函数、对象
等导出给其结构使用;变量、函数、对象
等;结构
,就是模块
;按照这种结构划分开发程序的过程,就是模块化开发
的过程;
脚本语言
,做一些简单的表单验证或动画实现等,那个时候代码还是很少的:
<script>
标签中即可; 长度只有一行
。前后端开发分离
,意味着后端返回数据后,我们需要通过JavaScript进行前端页面的渲染
;包括前端路由、状态管理
等等一系列复杂的需求需要通过JavaScript来实现; *包括Node的实现,JavaScript编写复杂的后端程序
,没有模块化是致命的硬伤;ES6(2015)
才推出了自己的模块化方案;AMD、CMD、CommonJS
等;每一个模块中返回对象的命名
,才能在其他模块使用过程中正确的使用;混乱不堪
,每个文件中的代码都需要包裹在一个匿名函数中来编写
;没有合适的规范
情况下,每个人、每个公司都可能会任意命名、甚至出现模块名称相同的情况;按照这个规范去编写模块化的代码
;模块本身可以导出暴露的属性,模块又可以导入自己需要的属性
;一系列好用的规范
,接下来我们就学习具有代表性的一些规范。代码演示
```js // a.js var moduleA = (function() { var name = "why" var age = 18 var isFlag = truereturn { name: name, isFlag: isFlag }
})() // b.js (function() { if (moduleA.isFlag) { console.log("我的名字是" + moduleA.name) } })()