使用NodeJS模块-第三方提供的模块(什么是npm)

时间:2021-07-09 16:13:56

第三方开发者提供的模块

第三方模块是由NodeJS社区或第三方个人开发的功能模块,这些功能模块以软件包的形式存在。被发布在npmjs注册表中。npmjs是一个注册中心,所有软件包的信息都会被记录到该注册中的数据库中,我们可以来到npmjs官方站点,根据关键字搜索自己需要的软件包

  • 什么是npm

    npm是世界上最大的软件注册机构(登记处)来自世界各地的开源开发者可以使用npm来共享自己写的软件包,也可以使用他人写的软件包;

  • 由三部分组成

  1. npmjs官方站点,用于搜索你想使用的软件包;
  2. 注册表,一个大型的公共数据库,记录了所有软件包的信息;
  3. 命令行界面,开发者与npm交互的工具;

使用NodeJS模块-第三方提供的模块(什么是npm)

点击软件包的名字会跳转到软件包的详情页面:

使用NodeJS模块-第三方提供的模块(什么是npm)

我们需要的软件包已经找到了,但是我们怎么样去使用软件包提供的功能呢?

我们可以通过NPM(Node Package Manager)使用软件包,NPM是NodeJS的包管理器,它提供了一系列的命令,可以帮我们安装、删除、更新、搜索以及创建自己的软件包。

由于只有软件包才是使用其他的软件包,因此我们必须要先创建自己的软件包,然后才能在自己的软件包中使用其他的软件包。

我们怎么样去创建自己的软件包呢?答案是通过NPM提供的一系列命令创建自己的软件包。

1、 在合适的目录下,打开命令窗口,创建软件包的目录,并切换到该目录下:

 mkdir lodashdemo && cd loadshdemo                                                    

2、 使用NPM提供的命令,初始化软件包,你需要回答几个问题,回答完毕之后会生成一个package.json文件,该文件记录了软件包的所有信息。

npm init                                                                            

使用NodeJS模块-第三方提供的模块(什么是npm)

3、如果你只是想把创建的包作为一个本地项目,并不想将它发布到npmjs注册中心(不想让别人使用你的软件包),你需要移除package.json文件中的main字段,然后添加private字段,并指定其值为true,表示这是私有的软件包。修改之后的结果如下:

{
"name": "lodashdemo",
"version": "1.0.0",
"description": "讲解 NPM 包管理器的使用方法",
"private": true,
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"demo",
"lodash",
"陈老师"
],
"author": "陈老师",
"license": "MIT"
}

3、 使用NPM的命令安装第三方模块,此步骤需要访问网络。

npm install lodash --save-prod          
  • install也可以简写成i
  • --save-prod 将 lodash 模块作为当前软件包的产品依赖,并将依赖信息记录到package.json文件中的dependencies字段中
  • 此外,初次执行install命令时,还会生成一个package-lock.json文件,该文件记录了当前软件包所依赖的其他软件包的详细信息,用于将软件包锁定到特定的版本。
  • 安装完成之后,当前项目的目录下会生成一个node_modules/目录,目录中保存就是我们下载后的软件包。

4、 创建自己的项目文件,例如,app.js文件,导入第三方模块,即可使用模块提供的功能

   // 导入 lodash 模块
const _ = require('lodash'); // 使用 lodash 模块提供的方法
const add = _.add(12, 56)
console.log(add) const subtract = _.subtract(8, 4)
console.log(subtract) const multiply = _.multiply(8, 4)
console.log(multiply)