node.js|node.js中的模块化
1.什么是模块化 把公共的功能代码,拆分成多个独立文件,在需要某个功能的时候通过某种方式引用进该文件的过程
2.为什么要用模块化
2.1 模块化的由来 早期的静态页面,样式都很简单,极少有交互以及设计元素,一个页面也不会依赖很多文件,逻辑代码非常少,随着各种技术的发展,各种交互以及新技术等使网页变得越来越丰富,前端的代码量急速上涨、复杂度也逐步增高,代码多,各种命名冲突、代码冗余、文件间依赖变大等等一系列的问题的出现,甚至导致后期难以维护。
自2015年后,ES6官方则正式有了模块化的概念
2.2模块化的好处 (1)使代码结构更清晰,便于后期维护;
(2)避免了变量污染;
(3)可以按需加载,提高程序性能。
3.CommonJS规范 CommonJS
规范中规定每个文件就是一个独立的模块,有自己的作用域,模块的变量、函数、类都是私有的,外部想要调用,必须使用 module.exports
主动暴露,而在另一个文件中引用则直接使用 require()
即可.
-
Node.js
遵循了CommonJS
模块化规范,CommonJS
规定了模块的特性和各模块之间如何相互依赖
-
CommonJS
规定:
- 每个模块内部,
module
变量代表当前模块
-
module
变量是一个对象,它的exports
属性(即module.exports
)是对外的接口
- 加载某个模块,其实是加载该模块的
module.exports
属性。require() 方法用于加载模块
- 每个模块内部,
Node.js
中根据模块来源的不同,将模块分为了 3 大类,分别是:- 内置模块(内置模块是由
Node.js
官方提供的,例如fs
、path
、http
等)
- 自定义模块(用户创建的每个
.js
文件,都是自定义模块)
- 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)
文章图片
推荐阅读
- 热闹中的孤独
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- Android中的AES加密-下
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- Node.js中readline模块实现终端输入
- C语言中的时间函数clock()和time()你都了解吗