Express 高级教程

Express 是一个灵活的 Node.js Web 应用框架,它可以帮助你快速构建 Web 应用。本教程将深入探讨 Express 的一些高级特性。

路由中间件

在 Express 中,中间件是一个重要的概念。它可以让你在请求处理链中插入自定义逻辑。

  • 使用 app.use() 注册中间件
  • 中间件可以访问 reqres 对象,以及 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 官方文档

抱歉,您的请求不符合要求