express 教程
原标题:express 教程
导读:
在这个快节奏的互联网时代,越来越多的开发者开始关注Node.js领域,而Express作为Node.js最流行的Web框架之一,一直备受青睐,就让我带你深入了解Express,...
在这个快节奏的互联网时代,越来越多的开发者开始关注Node.js领域,而Express作为Node.js最流行的Web框架之一,一直备受青睐,就让我带你深入了解Express,一起探索它的魅力所在。
让我们从Express的安装开始,Express是一个第三方模块,因此需要使用npm来进行安装,在安装前,请确保你的电脑上已经安装了Node.js环境,安装命令如下:
npm install express --save
让我们创建一个简单的Express服务器,新建一个js文件,例如app.js
,然后输入以下代码:
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, Express!'); }); app.listen(3000, () => { console.log('Server is running at http://localhost:3000'); });
这段代码创建了一个简单的Web服务器,当访问根目录时,会返回“Hello, Express!”的字符串,运行这个服务器,你只需在命令行中输入:
node app.js
让我们深入了解一下Express的各个部分。
路由
在Express中,路由是指如何定义应用的端点(即URL)以及如何响应客户端的请求,路由由URI和HTTP请求方法组成,上面示例中的app.get('/')
就是一个简单的路由,表示当用户访问根目录时,使用GET方法进行请求。
Express提供了以下HTTP请求方法:GET、POST、PUT、DELETE等,你可以根据需求为不同的请求方法设置路由:
app.post('/add', (req, res) => { // 处理POST请求 }); app.put('/update', (req, res) => { // 处理PUT请求 }); app.delete('/delete', (req, res) => { // 处理DELETE请求 });
中间件
中间件是Express框架的核心概念之一,它可以访问请求对象(req)、响应对象(res)以及请求-响应周期中的下一个中间件函数,中间件函数可以执行以下操作:
- 执行任何代码;
- 修改请求和响应对象;
- 结束请求-响应周期;
- 调用堆栈中的下一个中间件。
以下是使用中间件的一个示例:
const express = require('express'); const app = express(); // 中间件 app.use((req, res, next) => { console.log('Time:', Date.now()); next(); }); app.get('/', (req, res) => { res.send('Hello, Express!'); }); app.listen(3000, () => { console.log('Server is running at http://localhost:3000'); });
在这个例子中,我们使用app.use()
定义了一个中间件,它会打印当前时间,然后调用next()
函数,将控制权传递给下一个中间件或路由。
模板引擎
Express默认支持多种模板引擎,例如Jade、EJS等,这里以EJS为例,介绍如何在Express中使用模板引擎。
安装EJS模块:
npm install ejs --save
在代码中设置模板引擎:
const express = require('express'); const app = express(); // 设置模板引擎 app.set('view engine', 'ejs'); app.get('/', (req, res) => { res.render('index', { title: 'Hello, Express with EJS!' }); }); app.listen(3000, () => { console.log('Server is running at http://localhost:3000'); });
在上述代码中,我们使用res.render()
方法渲染了一个名为index.ejs
的模板文件,并传递了一个名为title
的变量,创建一个views
文件夹,并在其中创建index.ejs
文件:
<!DOCTYPE html> <html> <head> <title><%= title %></title> </head> <body> <h1><%= title %></h1> </body> </html>
当你访问根目录时,Express会自动将EJS模板渲染成HTML,并显示在浏览器中。
静态文件
在Web开发中,我们经常需要处理静态文件,如CSS、JavaScript和图片等,Express提供了一个内置的中间件express.static
,可以方便地处理静态文件。
const express = require('express'); const path = require('path'); const app = express(); // 设置静态文件目录 app.use(express.static(path.join(__dirname, 'public'))); app.listen(3000, () => { console.log('Server is running at http://localhost:3000'); });
在这个例子中,我们创建了一个名为public
的文件夹,将静态文件放入其中,通过设置express.static
中间件,Express会自动处理public
文件夹中的静态文件请求。
就是Express的基础知识介绍,Express的功能远不止这些,它还有许多强大的特性等待你去发掘,在实际项目中,熟练掌握Express将助力你更快地开发出高质量的Web应用,让我们一起加油,成为Express的高手吧!