首页 > 编程语言 >Node.js的express模块

Node.js的express模块

时间:2024-09-05 16:54:17浏览次数:5  
标签:Node req console res app express js 路由

一、express介绍

express 是一个基于 Node.js 平台的极简、灵活的 WEB 应用开发框架

官方网址:https://www.expressjs. com.cn/ 简单来说,express 是一个封装好的工具包,封装了很多功能,便于我们开发 WEB 应用(HTTP 服务)

二、express使用

1.express下载

我们使用npm安装express

在Visual Studio Code中新建文件夹express

初始化express

npm init

全局安装express

npm i express

2.创建简单的express项目

创建01_express.js文件

// 导入express
const express = require('express')

//创建应用对象
const app = express()

//创建路由
app.get('/home', (req, res) => {
  res.end('hrello world')
})

//监听窗口,启动服务
app.listen(9000, () => {
  console.log('服务已经启动,端口9000正在监听。。。')
})

启动服务

node 01_express.js

然后在浏览器就可以访问 http://127.0.0.1:3000/home

三、express路由

路由:路由确定了应用程序如何响应客户端对特定端点的请求

1.路由的组成

一个路由的组成有 请求方法 , 路径 和 回调函数 组成

路由使用格式

app.<method>(path,callback)

代码示例:创建02_路由.js

// 导入express 模块
const express = require('express')

//创建应用对象
const app = express()

//创建get路由
app.get('/shouye', (req, res) => {
    res.send('首页')
})

//创建post路由
app.get('/login'), (req, res) => {
    res.send('登录')
})

//自定义404路由
app.all('*', (req, res) => {
    res.send('<h1>404 not found<h1>')
})

//监听端口,启动服务
app.listen(9000, () => {
    console.log('端口9000为您监听')
})

2.获取请求参数

express 框架封装了一些 API 来方便获取请求报文中的数据,并且兼容原生 HTTP 模块的获取方式

/导入 express
const express = require('express');
//创建应用对象
const app = express();
//获取请求的路由规则
app.get('/request', (req, res) => {
 //1. 获取报文的方式与原生 HTTP 获取方式是兼容的
 console.log(req.method);
 console.log(req.url);
 console.log(req.httpVersion);
 console.log(req.headers);
 //2. express 独有的获取报文的方式
 //获取查询字符串
 console.log(req.query); // 『相对重要』
 // 获取指定的请求头
 console.log(req.get('host'));
 res.send('请求报文的获取');
});
//启动服务
app.listen(3000, () => {
 console.log('启动成功....')
})

四、express响应设置

express 框架封装了一些 API 来方便给客户端响应数据,并且兼容原生 HTTP 模块的获取方式

//获取请求的路由规则
app.get('/response', (req, res) => {
 //1. express 中设置响应的方式兼容 HTTP 模块的方式
 res.statusCode = 404;
 res.statusMessage = 'xxx';
 res.setHeader('abc','xyz');
 res.write('响应体');
 res.end('xxx');
 //2. express 的响应方法
 res.status(500); //设置响应状态码
 res.set('xxx','yyy');//设置响应头
 res.send('中文响应不乱码');//设置响应体
 //连贯操作
 res.status(404).set('xxx','yyy').send('你好朋友')
 //3. 其他响应
 res.redirect('http://atguigu.com')//重定向
 res.download('./package.json');//下载响应
 res.json();//响应 JSON
 res.sendFile(__dirname + '/home.html') //响应文件内容
});

标签:Node,req,console,res,app,express,js,路由
From: https://blog.csdn.net/m0_65178842/article/details/141887909

相关文章

  • 基于jsp手机营业厅的计算机毕设
    摘  要手机目前已经被普遍使用了,而作为手机最基本的功能--拨打电话,也已经得到越来约好的用户体验,目前国内的360、腾讯等等企业在Android平台的手机云通讯录软件已经做得相当成熟。本设计开发一个基于jsp平台的手机营业厅自助服务员软件,实现了流量充值、业务办理和归属地查询......
  • 使用vue-json-pretty和vue-json-schema-editor-visual封装一个可视化json数据编辑器及
    一、前言        最近做了一个需求,要求实现可以对json结构进行编辑保存及字段级别的权限管控,结合目前已有的轮子和当前项目的结构,决定使用vue-json-pretty和vue-json-schema-editor-visual来实现效果如下组件支持修改左侧json数据,自动生成右侧树。也支持修改右侧树......
  • 【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况(完整版)
    本示例是通过prometheus的nodeexporter收集主机的信息,然后在grafana的dashborad进行展示。本示例使用到的组件均是最新的,下文中会有具体版本说明,linux环境是centos。本示例分为四个部分,即prometheus、grafana、nodeexporter的部署和三者集成的监控linux。本文旨在说明三者......
  • 【JavaScript学习第六天】—讲述JS学习历程的知识分享!
    前言本篇主要讲述了面向对象开发的特点,对象和类的概念与区别,包括详细讲解一个Tab选项卡案例一、面向对象在引出面向对象之前,我们首先要了解面向过程的概念面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了......
  • Node Exporter安装
    安装https://prometheus.io/download/dochttps://prometheus.io/docs/guides/node-exporter/mkdir/usr/local/prometheus&&cd/usr/local/prometheuswgethttps://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd......
  • VUE环境搭建之安装nvm自由管理node的版本
    一、下载地址官网:https://github.com/coreybutler/nvm-windows/releases二、安装三、使用命令行查看nvmnvmlsavailable四、访问https://nodejs.org/en/about/previous-releases获取可以的node版本......
  • How to use Node.js to get all files full paths that nested in folders All In On
    HowtouseNode.jstogetallfilesfullpathsthatnestedinfoldersAllInOne如何使用Node.js获取文件夹中嵌套的所有文件的完整路径demosESM//❌//importfsfrom'node:fs/promises';//✅import*asfsfrom'node:fs/promises';//import*asfsf......
  • 基于nodejs+vue大学生社团活动平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高等教育的普及和大学生课余生活的日益丰富,社团活动已成为培养学生综合素质、促进人际交往、提升团队协作能力的重要载体。然而,传统的社团管理方式往往......
  • 基于nodejs+vue大学生食堂饭菜价格信息管理系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着高校规模的不断扩大与学生群体的日益多元化,大学生食堂作为校园生活的重要组成部分,其饭菜价格管理成为了一个备受关注的议题。传统的手工记录与核算方式......
  • 基于nodejs+vue大学生数码租赁网站[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着科技的飞速发展,数码产品已成为大学生学习、生活及娱乐不可或缺的一部分。然而,高昂的购置成本往往让经济尚未独立的学生群体望而却步。同时,数码产品的更......