Express框架基本使用

举报
彭世瑜 发表于 2021/08/14 00:28:22 2021/08/14
【摘要】 用法和Flask 很相似 文档: 英文:http://expressjs.com/ 中文:https://www.expressjs.com.cn/ 初始化项目 # 初始化 $ npm init # 安装 cnpm install express nodemon -S 12345 项目结构 server.js package.json node_module...

用法和Flask 很相似

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

初始化项目

# 初始化
$ npm init

# 安装
cnpm install express nodemon -S

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

项目结构

server.js
package.json
node_modules/

  
 
  • 1
  • 2
  • 3

简单示例

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}`);
})

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

运行

$ node server.js

  
 
  • 1

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"
  }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

热重载模式启动

$ npm run dev

  
 
  • 1

数据交互

接收参数,返回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})
} )


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

请求测试

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" } }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/104865850

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。