用法和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
app.use(express.json())
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"}}
}