npm与包

本文介绍了Node.js中的包管理,如何使用npm安装、导入和管理第三方模块,包括包的安装、版本控制、依赖区分,以及淘宝镜像加速包下载。还涉及package.json的作用和基本操作,如创建、更新和清理包。
摘要由CSDN通过智能技术生成

Node.js中的第三方模块又叫做

就像电脑和计算机指的是相同的东西,第三方模块和包指的是同一个概念,只不过叫法不同。

包是基于内置模块封装出来的,提供了更高级,更方便的API,极大地提高了开发效率

内置模块之间的关系,类似于jQuery浏览器内置API之间的关系。

网站上搜索自己所需要的包:

https://www.npmjs.com/

服务器上下载自己需要的包:

https://registry.npmjs.org/

在项目中安装包的命令

npm install 包的完整名称

上述的装包命令,可以简写成如下格式

npm i 完整的包名称

注意:一次性安装多个包,每个包之间用空格隔开 

导入包并且使用

// 1.导入需要的包
// 注意:导入的名称,就是装包时候的名称
const moment = require('moment')

const dt = moment().format('YYYY-MM-DD HH:mm:ss')
console.log(dt)

使用的时候查看官方文档具体教程

初次装包后多了哪些文件

初次装包成功后,在项目文件夹下多一个叫做node_modules的文件夹和package-lock.json的配置文件

其中:

node_modules文件夹用来存放所有已安装到项目中的包。require()导入第三方包时,就是从这个目录中查找并加载的包。

package-lock.json配置文件用来记录node_modules目录下的每一个包的下载信息,例如包的名字、版本号、下载地址等。

注意:不需要手动修改node_modules或package-lock.json文件中的任何代码,npm包管理工具会自动维护。

快速创建package.json

npm规定,在项目根目录中,必须提供一个叫做package.json的包管理配置文件。用来记录与项目有关的一些配置信息。从而方便提出node_modules目录之后,在团队成员之间共享项目的源代码

注意:在项目开发中,一定要把node_modules文件夹,添加到.gitignore忽略文件中

作用:在执行命令所处的目录中,快速新建package.json文件

npm init -y

注意:

  • 上述命令只能在英文的目录下运行成功!所以,目录文件夹的名称一定要使用英文命名,不要使用中文,不能出现空格
  • 运行npm install命令安装包的时候,npm包管理工具会自动把包的名称和版本号,记录到package.json中

dependencies节点

专门用来记录您使用npm install 命令安装了哪些包

devDependencies节点

如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到devDependencies节点中。

如果某些包在开发和项目上线之后都需要用到,则建议把这些包记录到denpendencies节点中

// 安装指定的包,并记录到devDependencies节点中
npm i 包名 -D
// 注意:上述命令是简写形式,等价于下面完整的写法:
npm install 包名 --save-dev

 

安装指定版本的包

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

npm i moment@2.22.2

包的语义化版本规范

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

其中每一位数字所代表的含义如下:

第一位数字:大版本

第二位数字:功能版本

第三位数字:Bug修复版本

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

一次性安装所有的包

npm install

npm i

安装全局的包

npm i 包名 -g

卸载包

npm uninstall 完整包的名字

注意: npm uninstall 命令执行成功之后,会把卸载的包,自动从package.json的dependencies中移除掉。

卸载全局的包

npm uninstall 包名 -g

解决下包速度慢的问题

淘宝NPM镜像服务器

淘宝在国内搭建了一个服务器,专门吧国外官方服务器上的包同步到国内的服务器,然后在国内提供下包的服务。从而极大地提高了下包的速度

扩展:

镜像(Mirroring)是一种文件存储形式,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。

切换npm的下包镜像源

# 查看当前的下包镜像源
npm config get registry
# 将下包的镜像源切换为淘宝镜像源
npm config set registry=https://registry.npm.taobao.org/
# 检查镜像源是否下载成功
npm config get registry

nrm

为了更方便的切换下包的镜像源,我们可以安装nrm这个小工具,利用nrm提供的终端命令,可以快速查看和切换下包的镜像源

# 通过npm包管理器,将nrm安装为全局可用的工具
npm i nrm -g
# 查看所有可用的镜像源
nrm ls
# 将下包的镜像源切换为taobao镜像
nrm use taobao

i5ting_toc

是一个可以把md文档转换为html页面的小工具

# 将i5ting_toc安装为全局包
npm install -g i5ting_toc
# 调用i5ting_toc,轻松实现md转html的功能
i5ting_toc -f 要转换的md文件路径 -o

包的内部结构

  • 包必须以单独的目录而存在
  • 包的顶级目录下要必须包含package.json这个包管理配置文件
  • package.json中必须包含name,version,main这三个属性,分别代表包的名字、版本号、包的入口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值