模块化的概念
一、什么是模块化
模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程,模块是可组合、分解和更换的单元
二、模块化的好处
1、提高了代码的复用性
2、提高了代码的可维护性
3、可以实现按需加载
三、模块化规范
1、模块化规范就是对代码进行模块化的拆分与组合时,需要遵守的规范
2、模块化好处是大家都遵守同样的模块化规范写代码,大大降低了沟通的成本
模块化分类
内置模块:由Node.js官方提供,例如:fs、path、http
自定义模块:用户创建的js模块
第三方模块:由第三方开发出来的模块,需要下载使用
require():可以引入模块
模块化作用域和module
模块作用域
和函数作用域类似,每个模块定义的变量、方法只能在当前模块内被访问,这叫做模块作用域
模块作用域的好处
防止了全局变量的污染
module
1、每个js文件都有一个module对象,里面存储了和当前模块有关的信息
2、在自定义模块中,可以使用module.exports对象,将模块共享出去,供外界使用
3、外界使用require()方法导入自定义模块时,得到的就是module.exports对象,并且导入的对象永远以module.exports对象为准
module.exports和exports
为了简化向外共享的代码,Node提供了exports对象,默认module.exports和exports指向同一个对象,最终共享情况,以module.exports为准
包与npm
查找包:https://www.npmjs.com
下载包:https://registry.npmjs.org
如何下载包
1、通过包管理工具npm下载包
2、命令:npm install/i
有关包的一些注意事项
1、初次装包之后,文件夹多了一个node_modules文件夹和package-lock.json文件
2、package.json使用命令行npm init生成
3、包的版本一共有三位数字,第一位大版本,第二位功能版本,第三位bug修复
4、npm使用-D下载开发依赖包
5、npm使用-g安装全局包,在硬盘的某个目录下
解决下包慢的问题
下载慢的原因?
默认是从国外https://registry.npmjs.org地址下载的,所以很慢
解决下载慢的原因
1、可以设置镜像
2、查看当前下包源:npm config get registry
3、将下包源切换为淘宝:npm config set registry=https://registry.npm.taobao.org
4、为了更方便的切换镜像源可以下载一个工具nrm
4.1、npm i nrm -g
4.2、查看镜像源:nrm ls
4.3、切换镜像源:nrm use 镜像名字