Express.js 是一个流行的 Node.js Web 应用框架,它使创建单页、多页或混合 Web 应用变得简单快捷。以下是 Express.js 的一些基础教程内容。
快速开始
安装 Node.js:首先确保你的计算机上安装了 Node.js 和 npm(Node 包管理器)。
创建项目文件夹:
mkdir my-express-app cd my-express-app
初始化 npm:
npm init -y
安装 Express:
npm install express
创建第一个 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}`); });
运行应用:
node app.js
路由和中间件
Express 使用路由和中间件来定义应用的逻辑。
路由
路由用于定义应用程序中 URL 的处理逻辑。
app.get('/about', (req, res) => {
res.send('About page');
});
app.post('/contact', (req, res) => {
res.send('Contact page');
});
中间件
中间件是 Express 应用程序中用于处理请求-响应周期中某个特定阶段的函数。
app.use((req, res, next) => {
console.log('请求已到达');
next();
});
数据处理
Express 可以与各种数据库进行集成,如 MongoDB、MySQL 等。
const express = require('express');
const app = express();
const port = 3000;
app.get('/data', (req, res) => {
// 假设我们使用 MongoDB
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
if (err) throw err;
const db = client.db('mydatabase');
const collection = db.collection('documents');
collection.find({}).toArray((err, result) => {
if (err) throw err;
res.send(result);
client.close();
});
});
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
模板引擎
Express 可以与各种模板引擎一起使用,如 EJS、Pug 等。
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { title: '首页' });
});