Node.js Express 框架
Node.js Express框架
框架概述
Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Express是一个快速、开放、极简的Web框架,它为WEB和移动应用提供了一组强大的特性。
Express框架可以用于构建Web应用和APIs。它兼容Middleware,以提供大量常见功能,如路由、静态文件服务、视图、部分视图等,同时也可以使用各自的Node模块来拓展这些功能。Express框架提供的API是完全兼容Node.js的原生API,这样可以轻松地将其与其他中间件集成在一起。
安装与使用
要安装Express框架,你可以使用npm,在终端输入以下命令:
npm install express --save
这将把Express模块安装到你的node_modules
文件夹中,并将其添加到依赖列表中。
下面是我们的第一个Express应用程序:
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(3000, function(){
console.log('Example app listening on port 3000');
});
我们导入Express模块并将其赋值给一个变量。接下来,我们使用app.get()
方法来定义一个路由,该路由将处理根URL并返回一条消息。最后,我们使用app.listen()
方法来启动应用程序并监听3000端口。
在终端中,进入包含app.js
的目录并执行以下命令:
node app.js
浏览器中打开http://localhost:3000
,你将看到一条消息“Hello World”。
路由
在Express中,路由是由一个URI和特定的HTTP请求方法(GET、POST等)组成的。每个路由可以有多个中间件函数,这些函数在匹配的路由被触发时按顺序执行。
以下是一些基本的路由示例:
// GET方法
app.get('/', function(req, res){
res.send('Hello World');
});
// POST方法
app.post('/submit', function(req, res){
res.send('Submitted successfully');
});
还有一些高级的路由处理方式,如正则表达式路由、带有占位符的路由、参数处理器及路由模块化,这些都可以通过查看Express官方文档来了解。
中间件
中间件函数在请求到达路由之前运行,并且可以执行多个任务,如解析请求体、设置响应头、记录日志等。下面是一个基本的Express中间件示例:
var express = require('express');
var app = express();
// 记录请求时间
app.use(function(req, res, next) {
console.log('Time: ', Date.now());
next();
});
// 路由处理函数
app.get('/', function(req, res) {
res.send('Hello World');
});
app.listen(3000);
在上面的例子中,我们定义了一个带有一个中间件函数的Express应用程序。该中间件函数将记录请求的时间,并将请求传递给后面的函数处理。
视图
在Express中,通过使用视图引擎,你可以轻松地将模板数据呈现为HTML。Express支持不同的视图引擎,包括Jade、EJS等。
以下是一个使用EJS视图引擎的视图示例:
app.set('view engine', 'ejs');
app.get('/', function(req, res) {
res.render('index', { title: 'Express', message: 'Hello World' });
});
在上面的例子中,我们使用app.set()
方法将视图引擎设置为EJS。然后,我们定义一个路由函数,该函数使用res.render()
方法来呈现名为“index”的EJS模板,将模板数据传递给模板渲染器。
总结
使用Express框架可以让我们更快捷、简单地开发Web应用和APIs。Express非常适合构建中小规模的应用程序,因为它很灵活、易于使用,并提供了非常完善的文档。