express: 学习笔记

express 学习笔记
更新于: 2025-06-20 22:43:39

安装依赖

yarn add express
yarn add --dev nodemon

初始化项目

const express = require("express");
const app = express();

app.get("/", (req, res) => {
  res.status(200).send("hello world");
});

app.listen(3000, () => {
  console.log("Server is running on port 3000");
});

返回 text

app.get("/", (req, res) => {
  res.status(200).send("hello world");
});

返回 json

app.get("/", (req, res) => {
  res.status(200).json({ message: "Hello, World!" });
});

下载文件

app.get("/", (req, res) => {
  res.download("package.json");
});

render HTML

记得安装 ejs 依赖

app.set("views", "./views");
app.set("view engine", "ejs");

app.get("/", (req, res) => {
  res.render('index', { text: 'world' })
});

EJS 模板内容

<h1>Index View</h1>
<p>Hello <%= locals.text %> </p>

routes/user.js - CURD

const express = require("express");
const router = express.Router();

router.get("/", (req, res) => {
  res.send("User list")
});

router.get("/:id", (req, res) => {
  res.send(`User details for ID: ${req.params.id}`);
});

router.get("/edit/:id", (req, res) => {
  res.send(`User edit form for ID: ${req.params.id}`);
});

router.post("/", (req, res) => {
  res.send("User created")
});

router.put("/:id", (req, res) => {
  res.send(`User updated for ID: ${req.params.id}`);
});

router.delete("/:id", (req, res) => {
  res.send(`User deleted for ID: ${req.params.id}`);
  // or
  // res.status(204).send();
});

router.get("/new", (req, res) => {
  res.send("User New Form")
});

module.exports = router;

加载 router

const userRouter = require('./routes/user');
app.use("/users", userRouter);

public 目录

app.use(express.static("public"));