Express框架基本使用

用法和Flask 很相似

文档:
英文:http://expressjs.com/
中文:https://www.expressjs.com.cn/

初始化项目

# 初始化
$ npm init

# 安装
cnpm install express nodemon -S

项目结构

server.js
package.json
node_modules/

简单示例

server.js

const express = require("express");

const app = express();

app.get("/", (request, response) => {
    response.send("hello world!");
})

const port = process.env.PORT || 5000;

app.listen(port, () => {
    console.log(`Server runing on http://127.0.0.1:${port}`);
})

运行

$ node server.js

http://127.0.0.1:5000/

配置热重载

配置package.json

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
    "start": "node server.js",
    "dev": "nodemon server.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "nodemon": "^2.0.2"
  }
}

热重载模式启动

$ npm run dev

数据交互

接收参数,返回json


/**
 * body 默认是undefined,需要添加解析中间件
 */
// for parsing application/json
app.use(express.json()) 
// for parsing application/x-www-form-urlencoded
app.use(express.urlencoded({ extended: true })) 


app.post("/json/:key", (request, response) =>{
    const data = {
        body: request.body,
        params: request.params,
        query: request.query
    }
    response.json({ msg: 'success', code: 0, data: data})
} )

请求测试

POST http://127.0.0.1:5000/json/value?name=Tom&age=23
Content-Type: application/json; charset=utf-8

{
    "school": "Tsinghua"
}

反回数据

{
    "msg": "success",
    "code": 0,
    "data": {
        "body": {
            "school": "Tsinghua"
        },
        "params": {
            "key": "value"
        },
        "query": {
            "name": "Tom",
            "age": "23"
        }
    }
}
发布了1446 篇原创文章 · 获赞 396 · 访问量 139万+

猜你喜欢

转载自blog.csdn.net/mouday/article/details/104865850
今日推荐