搭建环境
新建一个文件夹 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