Node.js学习十一(包管理器npm与yarn)


一、Node.js中的npm包管理工具

      (package)就是一个目录模块,即第三方模块,它是基于内置模块封装出来的。
      npm:就是用于管理包的工具,一般npm是与node一块安装的,不需要额外下载。
      常见的使用场景有以下几种:
      ①允许用户从NPM服务器下载别人编写的第三方包到本地使用。
      ②允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
      ③允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
      由于新版的nodejs已经集成了npm,所以npm也一并安装好了。我们可以在cmd中使用npm -v的命令查到电脑安装的npm的版本号。
在这里插入图片描述

      如果安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级,命令如下:

c:\ npm install npm -g

      Linux系统命令如下:

$ sudo npm install npm -g

      我们可以在这个网站https://www.npmjs.com/(全球最大的包共享平台)里,寻找我们需要的各种包的信息。
      比如express等包都可以在这里找到。

1、安装包

(1)本地安装

npm install 完整的包名称

可以简写为:

npm i 完整的包名称

(2)全局安装

npm install 完整的包名称 -g

可以简写为:

npm i 完整的包名称 -g

(3)本地安装和全局安装的区别

本地安装:
      将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行npm命令的目录下生成 node_modules 目录。可以通过 require() 来引入本地安装的包。
全局安装:
      被安装的模块在所有的node项目中都可以使用,将安装包放在 /usr/local 下或者你 node 的安装目录。可以直接在命令行里使用。
      如果希望具备两者功能,则需要在两个地方安装它或使用 npm link。

(4)举例

      如果我们想在d盘某目录下下载一个express包,方法如下:
在这里插入图片描述
      我们可以在这个网站中看到,express包的下载命令是npm i express。接下来只要在cmd中使用cd切换到我们需要的目录下执行该代码就可以,注意:如果此时cmd在c盘下,只要输入d:就可以换盘符。
在这里插入图片描述
      当我们使用它时,使用require(‘express’)就可以,它会自动在node_modules文件下去查找。
      初次装包完成后,在项目文件夹下会多一个node_modules的文件夹和package.json的配置文件。
      node_modules:此文件夹用来存放所有已安装到项目中的包,require()导入第三方包时,就是从这个目录中查找并加载包。
      package.json:记录node_modules目录下的每一个包的下载信息,例如包的名字,版本号,下载地址等。

2、安装指定版本的包

      默认情况下,使用npm install命令安装包的时候,会自动安装最新版本的包,如果需要安装指定版本的包,可以在包名之后,通过@符号指定具体版本,例如:

npm i express@4.17.1

3、包的语义化版本规范

      包的版本号以“点分十进制”形式定义,总共有三位数字,如4.17.2

第一位数字:大版本
第二位数字:功能版本
第三位数字:Bug修复版本

      版本号提升的规则:只要前面的版本号增长了,后面的版本号归零。

4、包管理配置文件package.json

      用来记录与项目有关的一些配置信息,如:项目的名称、版本号、描述等,项目中都用到了哪些包,哪些包只在开发期间会用到,哪些包在开发和部署时需要用到。

5、dependencies节点

      我们可以注意到,在package.json文件中,有一个dependencies节点,它专门用来记录使用npm install命令安装了哪些包。如:
在这里插入图片描述

6、快速创建package.json

      当我们安装的包太多,每一个版本号又不同时,我们可以使用npm init -y 命令,在所处目录下生成一个package.json文件,里面会记录安装的包的信息。
      如:我们在E:\js自学\module这个目录下执行npm init -y命令,那么它就会生成一个package.json文件。
      npm init -y:初始化一个package.json文件,用于记录安装的包的相关信息。
在这里插入图片描述
      然后我们再在这个目录下下载express和mysql模块,下载完成后package.json文件就会自动更新着两个包的信息。
在这里插入图片描述
      如果有一天我们想把自己做的项目传给别人,就不用再发送node_modules文件,只要发送package.json文件,再执行npm install命令,那么就会下载好package.json里的所有包了。
      npm install:自动安装package.json中记录的包名称以及版本号。
注意:npm init -y只能在英文的目录下成功运行,所以,项目文件夹名称一定要使用英文命名,不能出现中文和空格。

7、卸载包

npm uninstall 包的名称

      此命令执行成功后,会把卸载的包,自动从package.json的dependencies节点中移除。

8、devDependencies节点

      如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到devDependencies节点中,与之对应的,如果某些包在开发和项目上线之后都要用到,则建议把这些包记录到dependencies节点中。
      将包记录到devDependencies节点中的命令如下:

npm install 包名称 --save-dev
//
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值