关于模块化和npm包

533 阅读3分钟

啥是模块化?

一个js文件引入另一个js文件,且能使用另一个的变量,数据等,就称之为模块化。
ps:使用模块化开发可以很好的解决变量、函数名冲突问题.

常规的模块化规范

1.node.js的模块化规范
2.es6的模块化
3.CMD 和 AMD 模块化规范(已成为历史,不推荐使用)

nodejs中的模块分类

核心模块

就是nodejs自带的模块,在安装完nodejs之后,就可以随意使用啦。相当于学习js时使用的Array对象。 例:fs, http, querystring, path

自定义模块

程序员自己写的模块。就相当于我们在学习js时的自定义函数。

第三方模块

其他程序员写好的模块。nodejs生态提供了一个专门的工具npm来管理第三方模块,后面我们会专门讲到。
相当于别人写好的函数或者库。例如JQuery库,arttemplate等。

关于自定义模块的使用步骤

  1. 定义模块。就是创建一个js文件, 对外导出我们希望导出的内容。
  2. 使用模块。在需要使用的地方去导入模块文件。

commonjs的模块化规范

CommonJS 规范中主要规定了以下 3 项内容:

导入其它模块时,统一使用 require() 函数。 每个 .js 文件,都是一个独立的模块,模块内的成员都是私有的。 在每个 JS 模块中,使用 module.exports 向外共享成员。
示例:需求:在一个文件夹创建两个js文件

Snipaste_2022-04-26_19-49-04.png
在2里面定义好函数与变量最后记得用module.exports语法导出即可成功调用

Snipaste_2022-04-26_19-45-28.png

了解npm和包

npm

npm 全称 Node Package Manager(node 包管理器),它的诞生是为了解决 Node 中第三方包共享的问题。 npm 不需要单独安装。在安装Node的时候,会连带自动安装npmnpm -v检查安装的情况。

包(package)与模块的关系

  • nodejs中一个模块就是一个单独的js文件
  • Node.js 中的第三方模块,又叫做包、第三方包、依赖包
  • 包是多个模块的集合。一个模块的功能比较单一,所以一个包一般会包含多个模块。
  • npm 管理的单位是包。类似于网站和网页的区别:一个网站一般会包含多个网页。

image.png

npm下载使用包

npm 公司提供了一个非常著名的搜包网站:https://www/npmjs.com/
分成三步:

  • 初始化项目。npm init 如果之前已经初始化,则可以省略。
  • 安装包。 npm install 包名。
  • 引入包,使用

第一步:初始化项目

这里提到的项目并不是某个具体的功能,只是要创建一个空文件夹即可(注意,不要起中文名字哈)。

进入到项目所在的根目录下,启动小黑窗(建议:按下shift键,点击右键,在弹出的菜单中选择 “在此处打开命令行”)

npm init --yes
// --与yes之间没有空格, -- 与init之间有空格
// 或者是 npm init -y

第二步:安装包

npm 这个超市中有现成的写好的代码,我们想下载来用,这个过程就是安装包,或者叫下包、装包 安装命令: npm i 包名

第三步:使用包

当我们已经下载好一个包之后,就可以像使用核心模块一样去使用它。

格式是:const 常量名 = require('包名') 这个格式与引入核心模块的格式是一样的。