Express框架基本使用
【摘要】 用法和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
配置热重载
配置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)