本文是关于 Express 项目的一个案例研究,我们将探讨如何使用 Express.js 创建一个简单的 Web 应用程序。
案例背景
假设我们需要开发一个提供用户注册和登录功能的 Web 应用程序。
技术栈
- Node.js
- Express.js
- EJS (模板引擎)
- MongoDB
- Mongoose
项目结构
express-project
│
├── node_modules/
│
├── public/
│ ├── css/
│ ├── js/
│ └── images/
│
├── routes/
│ ├── index.js
│ ├── users.js
│
├── views/
│ ├── layouts/
│ │ └── main.ejs
│ ├── index.ejs
│ └── user.ejs
│
├── models/
│ └── User.js
│
├── package.json
└── server.js
实现步骤
初始化项目:使用
npm init
命令初始化项目,并安装所需的依赖。设置路由:在
routes/index.js
中设置路由,例如:
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.render('index');
});
router.use('/users', require('./users'));
module.exports = router;
- 创建用户模型:在
models/User.js
中定义用户模型。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const UserSchema = new Schema({
username: String,
password: String
});
module.exports = mongoose.model('User', UserSchema);
- 实现用户注册和登录功能:在
routes/users.js
中实现用户注册和登录的逻辑。
const express = require('express');
const router = express.Router();
const User = require('../models/User');
router.post('/register', (req, res) => {
// 注册逻辑
});
router.post('/login', (req, res) => {
// 登录逻辑
});
module.exports = router;
- 创建视图:在
views/user.ejs
中创建用户注册和登录的表单。
<!DOCTYPE html>
<html>
<head>
<title>Express 项目案例研究 1</title>
</head>
<body>
<h1>注册</h1>
<form action="/users/register" method="post">
<input type="text" name="username" placeholder="用户名" required>
<input type="password" name="password" placeholder="密码" required>
<button type="submit">注册</button>
</form>
</body>
</html>
扩展阅读
更多关于 Express.js 的内容,请访问 Express 官方文档。