首页 > 编程语言 >nodejs学习04——express框架

nodejs学习04——express框架

时间:2023-11-21 15:16:58浏览次数:35  
标签:req console 04 nodejs res app express send

搭建环境

新建一个文件夹 LearnExpress,

命令行:
//初始化包
npm init

// 安装 express
npm i express

初体验

//1. 导入 express
const express = require('express');
//2. 创建应用对象
const app = express();
//3. 创建路由规则
app.get('/home', (req, res) => {
	//res.end('hello express server');//也可以用 send
	res.send('hello ...');
});
//4. 监听端口 启动服务
app.listen(8080, () =>{
	console.log('服务已经启动, 端口监听为 8080...');
});

路由的使用

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

//1. 导入 express
const express = require('express');
//2. 创建应用对象
const app = express();

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

app.get('/',(req,res)=>{
	res.send('我才是真正的首页');
});

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

//匹配所有的请求方法
app.all('/search', (req, res) => {
	res.send('1 秒钟为您找到相关结果约 100,000,000 个');
});

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

//4. 监听端口 启动服务
app.listen(8080, () =>{
	console.log('服务已经启动, 端口监听为 8080...');
});

请求参数获取

//1. 导入 express
const express = require('express');
//2. 创建应用对象
const app = express();

//获取请求的路由规则
app.get('/request', (req, res) => {
	//1. 获取报文的方式与原生 HTTP 获取方式是兼容的
	console.log(req.method);//GET
	console.log(req.url);// /request?abc=100&pw=wod
	console.log(req.httpVersion);//1.1
	console.log(req.headers);
	//2. express 独有的获取报文的方式
	//获取查询字符串
	console.log(req.query); // 『相对重要』  { abc: '100', pw: 'wod' }
	// 获取指定的请求头
	console.log(req.get('host'));// 127.0.0.1:8080
	console.log(req.get('user-agent'));
	
	//res.write('test');
	//res.end('请求报文的获取');
	res.send('请求报文的获取');
});

//获取路由参数,路由参数指的是 URL 路径中的参数(数据)
app.get('/:id.html', (req, res) => {
	res.send('商品详情, 商品 id 为' + req.params.id);
});

//4. 监听端口 启动服务
app.listen(8080, () =>{
	console.log('服务已经启动, 端口监听为 8080...');
});

响应设置

//1. 导入 express
const express = require('express');
//2. 创建应用对象
const app = express();

//获取请求的路由规则
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'); //响应文件内容
});


//4. 监听端口 启动服务
app.listen(8080, () =>{
	console.log('服务已经启动, 端口监听为 8080...');
});

标签:req,console,04,nodejs,res,app,express,send
From: https://www.cnblogs.com/htj10/p/17846579.html

相关文章

  • FPGA入门笔记004——BCD计数器设计与使用
    1、设置一个最大值为10的四位计数器,Verilog代码如下:moduleBCD_Counter( Clk, Cin, Rst_n, Cout, q); inputClk; //计数器基准时钟 inputCin; //计数器进位输入 inputRst_n; //系统复位 // outputRegCout; //计数器进位输出 outputCout; //计数器进位输出 out......
  • nodejs升级引起的构建错误
      参考实际使用升级webpacknpminstall-Dwebpack@latest升级vue-clinpminstall-g@vue/cli创建vue-clidemo重新配置vue.configwebpack>5报错问题 1、运行下面这行指令,安装在Webpack中PolyfillNode.js核心模块。npminstallnode-polyfill-webpack......
  • Codeforces Round 904 (Div. 2)
    \(A.SimpleDesign\)https://codeforces.com/contest/1884/submission/233628914\(B.HauntedHouse\)https://codeforces.com/contest/1884/submission/233629446\(C.MediumDesign\)https://codeforces.com/contest/1884/submission/233632930\(D.Counting......
  • 界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)
    DevExpressWPFDiagram(流程图)控件帮助用户完美复制MicrosoftVisioUI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着......
  • 04-基础SQL-通用语法及分类
      ......
  • web04(内置对象,标签)
    九大内置对象out对象:用于向客户端、浏览器输出数据。request对象:封装了来自客户端、浏览器的各种信息。response对象:封装了服务器的响应信息。exception对象:封装了jsp程序执行过程中发生的异常和错误信息。config对象:封装了应用程序的配置信息。page对象:指向......
  • az-204 practice-004
     Question16of50YoumanageaninstanceofAzureAPIManagement.Youdefinepoliciestomultiplescopes.Youneedtoenforceapolicyevaluationorder.Whatshouldyouuse?the`base`elementThisitemteststhecandidate’sknowledgeofdefiningpol......
  • GMK5045-ASEMI光伏二极管GMK5045
    编辑:llGMK5045-ASEMI光伏二极管GMK5045型号:GMK5045品牌:ASEMI封装:批号:2023+引脚数量:2工作温度:-55°C~125°CGMK5045特征:肖特基势垒高二极管;热阻低;正向压降低,功率损耗低隔离包装设计,非常适合散热;高正向电流能力;优异的抗湿性;低调的包装;高正向浪涌能力;GMK5045应用领......
  • Ubuntu安装最新nodejs
    环境:Ubuntu20.04.6问题描述由于ubuntu默认的apt下载器只能下载较老版本的nodejs,而使用源代码编译又有点麻烦,因此这里采用github上官方推荐的方式,推荐看官方的教程,里面还介绍了nodejs和ubuntu的对应版本,地址如下:https://github.com/nodesource/distributions。安装步骤Dow......
  • Ubuntu 16.04 安装英伟达(Nvidia)显卡驱动
    Ubuntu16.04安装英伟达(Nvidia)显卡驱动配有英伟达显卡的主机,装完Ubuntu16.04后出现闪屏现象,是由于没有安装显卡驱动。显卡型号NVIDIACorporationGM204[GeForceGTX970]由于没有显卡驱动,屏幕闪屏,以下安装过程在终端模式下进行(按Ctrl+Alt+F1切换到终端界面)如果不能......