每天一遍,防止颓废。
本课程重点介绍服务端开发和前端开发思路上的区别,为后续的服务端开发做一个基础的铺垫。
课程内容
【第1章】
双越老师先给我们讲了这门课的阶段内容的课程安排。
认识req和res
手写server
const http = require('http')
const server = http.createServer(() => {
console.log('已接收到http请求');
})
server.listen(3000)
console.log('server启动成功 http://127.0.0.1:3000');
npm
npm init
npm i nodemon --save-dev
package.json
{
"name": "test2",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev":"nodemon index.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"nodemon": "^2.0.19"
}
}
- nodejs如何监听https请求
const http = require('http')
const server = http.createServer(() => {
console.log('已接收到http请求');
})
// 监听端口号
server.listen(3000)
- 如何拿到req和res
req即Request,res即Response,是http请求的关键
// 传两个参数
const server = http.createServer((req,res) => {
// 返回信息给前端
res.end('Hello Word');
})
- 如何使用req和res
req.url:返回前端访问的url
res.end():返回内容给前端
路由
路由和url
-
GET/api/list路由-> axios.get(’/api/list?a=1’)
-
POST/api/create路由->axios.get(’/api/create’,{…})
-
路由是规则,url是具体形式
定义一个路由
-
从req中获取url和method
-
判断method是否符合
-
看url是否符合
const http = require('http')
// 传两个参数
const server = http.createServer((req, res) => {
const url = req.url;
const path = req.url.split('?')[0]
const method = req.method;
// 模拟获取留言列表
if (path == '/api/list' && method == 'GET') {
res.end('api')
} else {
res.end('404')
}
// 模拟创建留言
if (path == '/api/create' && method == 'POST') {
res.end('Create')
} else {
res.end('404')
}
})
测试POST路由需要借助工具-postman
网址:https://www.postman.com/
心得体会
双越老师给我们讲了如何获取http请求,Request请求,Respond返回,如何监听请求巧妙的应用res.end,req.url,req.method来判断做路由来判断返回的内容,开始有点难了起来,然后今天学习有点晚,明天继续接着冲