Day 73 Npm包管理 +Express+路由+中间件

本文介绍了Node.js的npm包管理,包括切换npm源、相关命令、自定义命令和自动重启应用。接着讲解了Express框架的基础使用,包括安装、创建web服务、路由和中间件的详细内容,特别强调了中间件的分类和应用,以及如何通过自定义中间件处理POST数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三、npm包管理

1、介绍

npm是NodeJs项目模块管理工具,它已经集成了nodejs安装包中(自5.2以后新增了npx指令用于解决调用项目内部安装的模块繁琐的问题),使用npm可以实现从NPM服务器下载别人编写的第三方包到本地使用。

npm仓库地址:npm

当然除了npm以外还有Facebook贡献的Yarn,功能和npm一样,也可以作为包管理工具。

问题:npm帮我们下载和安装的包,计算机关机后再开机还是否可以继续使用?

npx(了解)

  • 为了临时帮我们去做安装操作(react)

  • 更好的执行模块的内部命令

node-modules/.bin/mocha --version
# 简化成了:
npx mocha --version

2、切换npm源(可选)

源:源站、镜像源、镜像(专门提供npm包下载资源的服务器)。

npm使用国外镜像源地址,再有的时候可能网络不是很通顺,这时可以使用国内镜像源来完成npm下载模块功能。

  • 切换到阿里提供的npm镜像源(方式1)

地址:NPM镜像-NPM下载地址-NPM安装教程-阿里巴巴开源镜像站

npm install -g cnpm --registry=https://registry.npm.taobao.org

执行完毕上述命名后,在系统中提供了一个cnpm包管理工具,功能和npm一样,所不同的是cnpm镜像源地址为阿里提供的源地址。

推荐,日后工作是安装软件都使用cnpm

  • 使用nrm管理npm镜像源(方式2,与方式1任选其一

nrm 是一个 npm 源管理器,允许你快速地在 npm源间切换。npm默认情况下是使用npm官方源(npm config list 来查看),如果直接修改npm源,如果后续需要连接到官方源才能工作,这样来回切换源就变得麻烦了,nrm通过简单的命令就可以解决此问题。

 

 
# 安装  通过cnpm来安装,cnpm使用的就是国内镜像源
npm i -g nrm
# i:install
# -g:global,全局安装(后续不管在什么地方打开命令行都可以使用该命令)

注:-g表示global全局,让nrm不限于到某一个项目中,而是在所有的项目中都可使用

安装好nrm后可以通过nrm ls命令来查看效果:

*表示当前正在使用的镜像源

如果想切换成其他的镜像源,可以通过nrm use 源名称进行切换,如需要切换成edunpm的源,则可以执行指令:

 

 
nrm use edunpm

3、npm相关命令

 

 
# 初始化生成package.json文件(创建项目的)
npm init -y[不询问]
npm init
# 查看本项目已安装模块
npm list
# 安装模块
npm install 模块名[@版本号 可选]  或  npm i 模块名[@版本号 可选]
# 卸载已安装模块
npm uninstall 模块名
# 查看全局node_modules的地址
npm root -g
## 安装参数
##--save -S     记录生产环境所需模块 默认
##--save-dev -D 记录开发环境所需模块
##-g 安装到全局
# 生产环境:代码已经上线了的运行环境
# 开发环境:开发人员在开发的时候环境

4、自定义npm命令

目的:npm允许我们执行npm以调用三方的模块,但是由于通过npm调用三方模块的指令写起来比较长,而且可能频繁被使用,这样用起来非常麻烦,因此可以通过自定义命令对原先非常长的命令做一个简化(别名)。

通过package.json文件中的scripts自定义脚本命令:

 

 
{
 
  "scripts": {
 
    "test": "echo hello"
  }
}

随后就可以在命令行中运行(npm run 自定义指令名称):

 

 
npm run test

如果需要更多的自定义命令,只需要按照上述的格式进行套用即可。

后续的vue框架中就会使用到,还有webpack也会用到。

5、自动重启应用

在编写调试Node.js项目,修改代码后需要频繁的手动重启应用,非常繁琐。nodemon这个工具,它的作用是监听代码文件的变动,当代码改变之后,自动重启

 

 
# 全局安装nodemon
npm i -g nodemon
# 执行node脚本
nodemon app.js

该工具应用非常广泛,后续的框架也是这样的应用。

四、Express

1、介绍

网址:Express - 基于 Node.js 平台的 web 应用开发框架 - Express 中文文档 | Express 中文网

Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。搭建web服务器

Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。npm

使用Express开发框架可以非常方便、快速的创建Web网站的服务器或API接口的服务器

2、基本使用

2.1、安装

在项目目录中,打开cmd命令窗口,执行如下命令:

 

 
npm init -y     # 如果没有项目则先初始化
npm i -S express

2.2、创建web服务

基本遵循之前的四个步骤:

  • 导入需要使用的express包

  • 创建web实例

  • 定义允许访问的地址(定义路由)【重复性步骤】

    • 原先的输出:res.end()

    • 现在的输出:res.send()

  • 启动服务(监听端口)

 

 
const express = require('express')
// 创建web服务
const app = express()
// 监听 get请求
// req 请求对象
// res 响应对象
app.get('请求URI',(req,res)=>{
 
    // 向客户端响应数据
    res.send({id:1,name:'张三'})
})
// ....
// 监听POST请求
app.post('请求URI',(req,res)=>{})
// 其他app.形式的api方法,put/delete/use 等
app.put()
app.delete()
// ....
// 启动服务
app.listen(8080,()=>{})

案例:手写一个服务器软件,启动后要求用户访问根“/”输出hello world,用户访问/html5输出h5,用于通过post方式访问/post则输出post

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值