原文链接:https://blog.csdn.net/a_one2010/article/details/54563733
相信广大前端朋友们都遇到过这么一个问题? 什么是模块化,模块化开发如何实现?
那么什么是模块化呢,时下流行的库与框架又有哪些在利用模块化进行开发呢?
今天我从以下两个方向来进行描述,如果描述不够准确,还请各位多多指正。
1.什么是模块化?
模块化就是讲js文件按照功能分离,根据需求引入不同的文件中。源于服务器端。
在前段开发中,最先出现在node.js中,commne.js中(module.exports和require)随着web应用的模块化,在浏览器端页是需要进行模块化开发,早期AMD,CMD规范,代表Require.js和sea.js。在es6中,提出了原生模块呼哈的解决方案,就是export和import但是浏览器并没有完全支持,需要借助一些工具,--babel,实现这个转换的有browserify和webpack。
在node.js中,模块就是一个文件,通常js、json文件,包是多个模块的集合,类似文件夹。
模块化通俗点的理解就是这样:就像我们小时候拼积木一样。我们想拼一个房子出来,我们不是一下子从低到顶逐渐的拼出来。而是我们把一个横条,竖条,圆圈等拼凑在一起,形成一个窗户,一面墙,房顶等等部件。这些部件就如同是一个个模块一样。具备一定的功能,可以单独分开使用。不同的框架和库的模块,有很多功能类似,可以理解为你的积木是塑料的,他的是木头的,只要接口Api可以对的上,那么也可以通用。
2.Node.js中的模块:Angular.js中的模块:React.js中的模块:有何异同?
nodejs里的模块,就是一个文件,通常js、json文件。
Angularjs里的模块就是一系列配置和代码块的集合,它们是在启动阶段就附加到应用上的。一个最简单的模块由两类代码块集合组成的:
配置代码块 - 在注入提供者注入和配置阶段执行。只有注入提供者和常量可以被注入到配置块中。这是为了防止服务在被配置好之前就被提前初始化。
运行代码块 - 在注入器被创建后执行,被用来启动应用的。只有实例和常量能被注入到运行块中。这是为了防止在运行后还出现对系统的配置。
Reactjs里的模块/组件:就是将一段js、html、css组合在一起,形成有一定功能的代码片段