Express 高级教程
Express 是一个灵活的 Node.js Web 应用框架,它可以帮助你快速构建 Web 应用。本教程将深入探讨 Express 的一些高级特性。
路由中间件
在 Express 中,中间件是一个重要的概念。它可以让你在请求处理链中插入自定义逻辑。
- 使用
app.use()
注册中间件 - 中间件可以访问
req
和res
对象,以及next()
函数 - 可以使用
next()
来将控制权传递给下一个中间件
app.use((req, res, next) => {
console.log('请求到达!');
next();
});
模板引擎
Express 可以与多种模板引擎一起使用,如 EJS、Pug 等。
- 使用
express.engine()
设置模板引擎 - 在模板文件中使用相应语法渲染数据
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { title: '首页' });
});
静态文件服务
Express 可以轻松地处理静态文件。
- 使用
express.static()
中间件 - 设置
__dirname
为静态文件的根目录
app.use(express.static('public'));
跨域资源共享 (CORS)
CORS 允许你从不同的域名请求资源。
- 使用
cors()
中间件 - 配置允许的域名和方法
const cors = require('cors');
app.use(cors({
origin: 'http://example.com',
methods: ['GET', 'POST']
}));
数据库集成
Express 可以与各种数据库集成,如 MongoDB、MySQL 等。
- 使用相应的数据库驱动
- 创建模型和路由
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });
const User = mongoose.model('User', new mongoose.Schema({ name: String }));
app.get('/user/:id', (req, res) => {
User.findById(req.params.id, (err, user) => {
if (err) return res.status(500).send('发生错误');
res.send(user);
});
});
Express Framework
更多关于 Express 的内容,请访问 Express 官方文档。
抱歉,您的请求不符合要求