当前位置:网站首页>Detailed explanation of express framework
Detailed explanation of express framework
2022-07-06 11:36:00 【Advanced diary】
Express
Use express You can quickly create web Web server or API Interface server
1. establish express Of web The server
// Import express
const express = require("express")
// establish web The server
const app = express()
// start-up web The server
app.listen(8088,()=>{
console.log('http://127.0.0.1:8088');
})
2. monitor get/post request
// monitor GET Request and return the response content , The first parameter is the requested url
app.get('/get',(req,res)=>{
//req.query Get request is the parameter sent
console.log(req.query)//http://127.0.0.1:8088/get?name=zs&age=18
//{ name: 'zs', age: '18' }
// call express Provided res.send() Method , Set the returned JSON object
res.send({name:"zs",age:20,gender:" male "})
})
// monitor POST Request and return the response content , The first parameter is the requested url
app.post('/post',(req,res)=>{
// call express Provided res.send() Method , Set the returned JSON object
res.send({name:"zs",age:20,gender:" male "})
})
towards http://127.0.0.1:8088/post The return value of the send request is
{ "name": "zs",
"age": 20,
"gender": " male "}
3. To obtain parameters
// Static parameters
app.get('/get',(req,res)=>{
//req.query Get request is the parameter sent
//http://127.0.0.1:8088/get?name=zs&age=18
res.send(req.query)
//{ name: 'zs', age: '18' }
})
// Dynamic parameters
app.get('/getId/:id',(req,res)=>{
//req.query Get request is the parameter sent
//http://127.0.0.1:8088/getId/12
res.send(req.params)
})
// return
{
"id": "12"
}
// Multiple dynamic parameters
app.get('/getId/:id/:name',(req,res)=>{
//req.query Get request is the parameter sent
//http://127.0.0.1:8088/getId/12/zs
res.send(req.params)
})
// return
{
"id": "12"
"name":"zs"
}
4. middleware
//app.use() The function is to register the global middleware ,app.use('path',function()) The first parameter is the path. If it is / Omission
express There are three kinds of middleware
1. Built in middleware static
2. Custom middleware
3. Third-party middleware (body-parser) ( Interceptor )
app.use(express.static('public'))
app.use(express.static('dome'))
// You can directly access
http://127.0.0.1:8088/index.html
http://127.0.0.1:8088/index.css
http://127.0.0.1:8088/index.js
// Will prioritize public In the document index file , If you can't find it, find dome Medium index file
app.use('/public',express.static('public'))
// To access http://127.0.0.1:8088/public/index.html
// Customize the middleware with global effect Multiple middleware can be defined , The middleware will be called in sequence
app.use(function (req, res, next) {/* Indicates that it matches any route */
console.log(new Date())
next()/* Indicates that the middleware will continue to execute after the matching is completed .*/
})
// Local middleware
let func = function (req, res, next) {/* Indicates that it matches any route */
console.log(new Date())
next()/* Indicates that the middleware will continue to execute after the matching is completed .*/
}
// Multiple local middleware can be defined
app.get('/',func1,func2,(req,res)=>{
res.send('get router by :/')
})
// Use middleware to process request data
app.use(express.json())
app.use(express.urlencoded({extended:false})
// Use third-party middleware (body-parser) ( Interceptor )
1. npm install body-parser
// To middleware
const parser = require("body-parser")
// Register middleware
app.use(parser.urlencoded({extended:false})
//nodejs built-in querystring The module processes the query string and converts the query string into object format
const qs = require("querystring")
console.log(qs.parse(str))
5. nodemon
It can start the modified project less frequently ,nodemon It will automatically restart the project to facilitate development and testing
npm install -g nodemon
Use nodemon app.js To run the project , no need node app.js
6. route
1. Mount in the original way
const express = require("express")
const app = express();
// Mount route
app.get('/',(req,res)=>{
res.send('get router by :/')
})
app.post('/',(req,res)=>{
res.send('post router by :/')
})
app.listen(8088,()=>{
console.log("http://127.0.0.1:8088");
})
2. Use express route
// stay router.js Create a routing object in
const express = require("express")
const router = express.Router();
// Mount specific routes
router.get('/user/list',(rep,res)=>{
res.send("GER user list")
})
router.post("/user/add",(req,res)=>{
res.send("POST user add")
})
// Export routing objects out
module.exports = router
// stay index.js Reference route in
const express = require("express")
const app = express()
// Import routing module
const router = require("./router")
// Register routing module
app.use(router)
app.listen(8088,()=>{
console.log("http://127.0.0.1:8088");
})
//app.use('/api',router)// Add a uniform prefix to the route http://127.0.0.1:8088/api/user/add
7. To write get/post Interface
const express = require("express");
const app = express()
const router = express.Router()
app.use(express.urlencoded({extended:false}))
router.get('/get',(req,res)=>{
// Request data sent by the client
const query = req.query;
res.send({
status:0,//0 It means success ,1 It means failure
msg:"GET The request is successful ",// Description of the State
data:query// Data that needs to be responded to the client
})
})
router.post('/post',(req,res)=>{
// Request data sent by the client
const body = req.body;
// Configure the middle price of parsing form data
res.send({
status:0,//0 It means success ,1 It means failure
msg:"POST The request is successful ",// Description of the State
data:body// Data that needs to be responded to the client
})
})
app.use(router);
app.listen(8088,()=>{
console.log("get request ");
})
8.cors Cross domain solution
const express = require("express");
const cors = require("cors")
const app = express()
// Use third-party middleware to solve cross domain
app.use(cors())
// Customize cors Set up cross domain requests
var cors = function(req,res,next()){
res.header('Access-Control-Allow-Origin', 'http://localhost:8088');// Request address
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');// Request mode
res.header('Access-Control-Allow-Headers', 'Content-Type');// Request header
next()
}
app.use(cors)
边栏推荐
- nodejs连接Mysql
- How to set up voice recognition on the computer with shortcut keys
- MTCNN人脸检测
- AI benchmark V5 ranking
- Request object and response object analysis
- QT creator test
- [yarn] yarn container log cleaning
- Project practice - background employee information management (add, delete, modify, check, login and exit)
- Codeforces Round #753 (Div. 3)
- Why can't STM32 download the program
猜你喜欢

Learning question 1:127.0.0.1 refused our visit

Request object and response object analysis

Picture coloring project - deoldify

double转int精度丢失问题

快来走进JVM吧

How to build a new project for keil5mdk (with super detailed drawings)

第4阶段 Mysql数据库

Face recognition_ recognition

Double to int precision loss
Reading BMP file with C language
随机推荐
常用正则表达式整理
Codeforces Round #753 (Div. 3)
第4阶段 Mysql数据库
Vs2019 desktop app quick start
Niuke novice monthly race 40
error C4996: ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_ s instead
ES6 let 和 const 命令
Machine learning notes week02 convolutional neural network
Vs2019 use wizard to generate an MFC Application
[Bluebridge cup 2020 preliminary] horizontal segmentation
wangeditor富文本组件-复制可用
Knowledge Q & A based on Apache Jena
Error connecting to MySQL database: 2059 - authentication plugin 'caching_ sha2_ The solution of 'password'
Deoldify project problem - omp:error 15:initializing libiomp5md dll,but found libiomp5md. dll already initialized.
nodejs连接Mysql
Word排版(小计)
[yarn] yarn container log cleaning
[NPUCTF2020]ReadlezPHP
{一周总结}带你走进js知识的海洋
Solve the problem of installing failed building wheel for pilot