Express
// 基本使用
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)})
静态资源
express.static(root, [options])
// 例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:
// 可以指定多个目录
app.use(express.static('public'))
// 虚拟目录 , 你就可以通过带有 /static 前缀地址来访问 public 目录中的文件了。
app.use('/static', express.static('public'))
路由(根据请求路径和请求方式进行路径分发处理)
http的常用请求方式:
- post 添加
- get 查询
- put 更新
- delete 删除
// 直接使用use分发可以处理所有的路由请求
app.use((req,res)=>{
res.send('ok');
});
中间件
中间件:就是处理过程中的一个环节(本质上就是一个函数)
中间件的挂载方式:
- use
- 路由方式 get post put delete
// 跳转到下一个路由
next("route");
挂载参数处理中间件:
const app = require("express")();
const bodyParser = require("body-parser");
// 挂载内置中间件
app.use(express.static("public"));
// 挂载参数处理中间件(post)
app.use(bodyParser.urlencoded({ extends: false }));
// 处理json格式数据
app.use(bodyParser.json());
// 处理get提交参数
app.get("/login", (req, res) => {
let data = req.query;
console.log(data);
res.send("get data");
});
// 处理post提交参数
app.post("/login", (req, res) => {
let data = req.body;
// console.log(data);
if (data.username == "admin" && data.password == "123") {
res.send("success");
} else {
res.send("failure");
}
res.send("ok");
});
app.listen(3000, () => {
console.log("running");
});