模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。
模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
模块具有以下几种基本属性:接口、功能、逻辑、状态,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。
在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,来处理复杂、大型的软件。
为什么要模块化:
-
如果多人同时开发一个项目的时候,每个人都会创建很多的 .js 文件,可能就会存在命名冲突的问题。
-
为了解决这个问题我们可以使用立即调用函数。但是立即执行函数会导致一个新的问题,就是我们不能再之后创建的 .js 文件中,再次去使用之前文件的变量或者函数。
-
因此,我们提出了模块化开发的概念,在 ES6 中,其实就是创建一个 obj 对象,将你想要导出去的对象添加到这个 obj 对象中,然后 return 这个对象,最后,为立即执行函数整体创建一个 const 类型的名字来接收 obj 对象。这样就可以在其他文件中使用 script 引入之后,利用这个名字调用这个 .js 文件了。