app.js
javascript
const express = require('express')
// 本次 http 请求实例
const app = express()
app.use((req, res, next) => {
console.log('请求开始...', req.method, req.url)
next()
})
app.use((req, res, next) => {
// 假设在处理 cookie
req.cookie = {
userId: 'abc123',
}
next()
})
app.use((req, res, next) => {
// 假设处理 post data
// 异步
setTimeout(() => {
req.body = {
a: 100,
b: 200,
}
next()
})
})
app.use('/api', (req, res, next) => {
console.log('处理 /api 路由')
next()
})
app.get('/api', (req, res, next) => {
console.log('get /api 路由')
next()
})
app.post('/api', (req, res, next) => {
console.log('post /api 路由')
next()
})
// 模拟登陆验证
function loginCheck(req, res, next) {
// setTimeout(() => {
// console.log("模拟登陆成功");
// next();
// });
setTimeout(() => {
console.log('登陆失败')
res.json({
error: -1,
msg: '登陆失败',
})
})
}
app.get('/api/get-cookie', loginCheck, (req, res, next) => {
console.log('get /api/get-cookie')
res.json({
error: 0,
data: req.cookie,
})
})
app.post('/api/get-post-data', (req, res, next) => {
console.log('post /api/get-post-data')
res.json({
error: 0,
data: req.body,
})
})
app.use((req, res, next) => {
console.log('处理 404')
res.json({
error: -1,
msg: '404 not fount',
})
})
app.listen(3000, () => {
console.log('server is running no port 3000')
})
package.json
json
{
"name": "express-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
}
}