npm与包

node.js笔记

不同于node.js中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用
由于node.js的内置模块提供了一些底层的API,导致在基于内置模块进行开发时,效率很低。
包是基于内置模块封装出来的,提供了更高级、更方便的API,极大的提高了开发效率。
安装包
npm install 包名称
简写 npm i 包名称

安装指定版本的包
npm i 包名称@版本号

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

其中:
node_module文件夹用来存放所有已安装到项目中的包。require()导入第三方包时,就是从这个目录中查找并加载包
package-lock.json配置文件用来记录node_module目录下的每一个包的下载信息,例如包的名字、版本号、下载地址。

包管理配置文件
npm规定,在项目根目录,必须提供一个叫做package.json的包管理配置文件,用来记录与项目有关的一些配置信息。例如:
1)项目的名称、版本号、描述等
2)项目中都用到了哪些包
3)那些包只在开发期间会用到
4)那些包在开发和部署时都需要用到

快速创建package.json
npm init -y
不用手动添加包的信息,下载包后,包的信息会自动添加到package.json中

一次性安装所有的包
npm install
执行npm install命令时,npm包管理工具会先读取package.json中的dependencied节点,
读取到记录的所有依赖包名称和版本号之后,npm包管理工具会把这些包一次性下载到项目中

卸载包
npm uninstall
执行成功后,会把卸载的包,自动从package.json的dependencies中移除掉

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

安装指定的包,并记录到devDependencies中
npm i 包名 -D
等价于 npm install 包名 --save-dev

切换npm的下包镜像源
下包的镜像源,指的就是下包的服务器地址

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

nrm

为了更方便的切换下包的镜像源

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

包的分类

  1. 项目包

那些被安装到项目的node_modules目录中的包,都是项目包
项目包又分为两类,分别是:

1)开发依赖包(被记录到devDependcies节点中的包,只会在开发期间用到)
2)核心依赖包(被记录到dependcies节点中的包,在开发期间和项目上线之后都会用到)

npm i包名 -D 开发依赖包
npm i 包名   核心依赖包
  1. 全局包

在执行 npm int\stall命令时,如果提供了-g参数,则会把包安装为全局包
全局包会被安装到C:\Users\用户目录\AppData\Roaming\npm\node_modules目录下

npm i 包名 -g      全局安装指定的包
npm uninstall 包名 -g     卸载全局安装的包

规范的包结构
一个规范的包,他的组成结构,必须符合以下三点要求
1)包必须以单独的目录而存在
2)包的顶级目录下必须包含package.json这个包管理配置文件
3)package.json中必须包含name,version,main这三个属性,分别代表包的名字、版本号、包的入口

i5ting_toc
i5ting_toc是一个可以把md文档转为html页面的小工具,使用步骤如下:

//将i5ting_toc安装为全局包
npm install -g i5ting_toc
//调用 i5ting_toc,轻松实现md转html的功能

express

获取URL中携带的 查询参数

通过req.query对象,可以访问客户端通过查询字符串的形式,发送到服务端的参数

app.get('/',(req,res)=>{
	//req.query默认是一个空对象
	//客户端使用?name=zs&age=20这种查询字符串形式,发送到服务端的参数
	//可以通过req.query对象访问到,例如:
	//req.query.name      req.query.age
	console.log(req.params)
})

获取URL中的动态参数
通过res.params对象,可以访问到URL中,通过:匹配道德动态参数

//URL地址中,可以同股票:参数名的形式,匹配动态参数值
app.get('/user/:id/:username',(req,res)=>{
	//req.params默认是一个空对象
	//里面存放着通过:动态匹配到的参数值
	console.log(req.params)
})

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值