本文共 2224 字,大约阅读时间需要 7 分钟。
Express 是一个高效的 Node.js Web 框架,广泛应用于构建 Web 服务。以下是 Express 的核心功能和常用配置方法的详细说明。
var express = require('express');var app = express();
app.get('/', function(req, res) { res.send('hello world');});
app.listen(3000);
Express 提供多种路由方法,如 app.get()
, app.post()
, app.all()
等。
app.get('/user/:id', function(req, res) { res.send('用户 ID: ' + req.params.id);});
使用 :id
定义路由参数,参数值可以在 req.params
中访问。
app.get('/search/:query', function(req, res) { var query = req.params.query; res.send('搜索关键词: ' + query);});
app.all('*')
可以定义所有请求的全局路由。
app.all('*', function(req, res, next) { console.log('所有请求都会经过这里'); next();});
req.params // 路由参数对象,例如 { id: '123' }
req.query // 解析过的查询参数对象
通过 bodyParser
中间件,可以访问请求体数据。
req.body // 请求体对象
req.files // 上传的文件对象
res.set('Content-Type', 'text/plain');
res.send('hello world'); // 发送字符串响应res.send(404, '页面不存在'); // 发送错误响应
res.json({ message: '欢迎来到 Express' });
res.jsonp('callback', { message: '欢迎来到 Express' });
app.use(express.bodyParser());
app.use(express.static('public'));
app.use(express.multipart());
app.use(express.compress());
app.use(express.csrf());
app.locals.title = 'My App';
本地变量可以在视图模板中使用。
app.use('views', path.join(__dirname, 'views'));
app.engine('jade', require('jade').__express);
res.render('index', { title: 'My App' });
可以将路由组织在组中,方便管理。
var userRouter = express.Router();userRouter.get('/profile', function(req, res) { res.send('用户个人资料');});app.use('/user', userRouter);
可以在组中定义路由参数。
var userRouter = express.Router();userRouter.get('/:username', function(req, res) { res.send('欢迎来到用户页面: ' + req.params.username);});app.use('/user', userRouter);
npm install express
app.use((err, req, res, next) => { if (err.status === 404) { res.send('页面不存在'); } next(err);});
app.use((err, req, res, next) => { console.error('服务器错误:', err); res.status(500).send('服务器内部错误'); next();});
通过以上配置,可以快速搭建一个 Express 应用程序,并通过路由和中间件灵活处理请求。
转载地址:http://aigbz.baihongyu.com/