以下是关于“ExpressJS入门实例”的完整攻略:
ExpressJS是什么?
ExpressJS是一个基于Node.js的轻量级Web应用框架,它使用了MVC架构模式,封装了对Node.js的http模块的处理,能够更方便、更快捷地实现Web应用的开发。
安装ExpressJS
运行以下命令来安装ExpressJS:
npm install express
创建一个Express应用
在创建Express应用之前,需要先创建一个Node.js的应用。创建一个空的文件夹,并在该文件夹下创建一个JavaScript文件。打开终端并进入该文件夹,输入以下命令:
npm init
按照提示输入相关内容,最后会生成一个package.json文件。
接下来,在该文件夹下创建一个app.js文件,输入以下代码:
// 加载Express模块
var express = require('express');
// 创建Express应用
var app = express();
// 设置路由规则
app.get('/', function (req, res) {
res.send('Hello World!');
});
// 启动服务器
app.listen(3000, function () {
console.log('Server is listening on port 3000!');
});
运行以下命令来启动服务器:
node app.js
打开浏览器,访问http://localhost:3000,就可以看到“Hello World!”这句话。
Express应用的三个核心组件
Express应用由三个核心组件组成,它们是:应用对象、请求对象、响应对象。
应用对象
应用对象是整个Express应用的核心对象,它包含了所有的路由规则、中间件和应用配置。应用对象对外暴露了许多方法,这些方法可以用来设置应用的一些属性,例如设置模板引擎、注册中间件等。在上面的示例中,变量app就是应用对象。
请求对象
请求对象是封装了客户端发来的请求内容的一个对象,其中包含了许多属性和方法,可以用来获取客户端发送的请求的各种信息。
响应对象
响应对象是封装了响应数据的一个对象,其中包含了许多方法和属性,可以用来构建服务器端返回给客户端的响应数据。
使用路由规则
上面的示例中,我们使用了一个简单的路由规则:
app.get('/', function (req, res) {
res.send('Hello World!');
});
它的含义是:当客户端以GET方式请求根路径时,执行回调函数。回调函数接收两个参数:请求对象和响应对象。在回调函数中,我们可以通过响应对象的send方法将“Hello World!”这句话发送给客户端。
除了get方法外,Express还提供了post、put、delete等方法,可以用来处理不同的HTTP请求方法。
使用中间件
中间件是一种特殊的路由规则,它可以在请求被处理之前或之后执行一些操作。中间件函数可以接收三个参数:请求对象、响应对象和next函数。next函数用于将请求传递给下一个中间件或路由规则。
以下是一个使用中间件的示例:
// 定义一个中间件函数
function logger(req, res, next) {
console.log('Request:', req.method, req.url);
next();
}
// 注册中间件
app.use(logger);
// 设置路由规则
app.get('/', function (req, res) {
res.send('Hello World!');
});
这个示例中,我们定义了一个简单的中间件函数logger,它用于把请求方法和请求路径输出到控制台。我们使用app.use方法将中间件函数注册到应用中,它会在所有路由规则处理之前被调用。
示例一:使用模板引擎
Express支持多种模板引擎,例如ejs、jade等。下面是一个使用ejs模板引擎的示例:
// 加载Express模块
var express = require('express');
// 加载ejs模板引擎
var ejs = require('ejs');
// 创建Express应用
var app = express();
// 设置模板引擎
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
// 设置路由规则
app.get('/', function (req, res) {
res.render('index', { message: 'Hello World!' });
});
// 启动服务器
app.listen(3000, function () {
console.log('Server is listening on port 3000!');
});
在该示例中,我们使用了ejs模板引擎来渲染视图。我们在应用的配置中设置了模板引擎的相关信息,并在路由规则中使用res.render方法来渲染视图。
示例二:使用第三方中间件
Express支持使用第三方中间件,例如body-parser中间件用来解析POST请求的请求体。下面是一个使用body-parser中间件的示例:
// 加载Express模块
var express = require('express');
// 加载body-parser中间件
var bodyParser = require('body-parser');
// 创建Express应用
var app = express();
// 注册body-parser中间件
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// 设置路由规则
app.post('/login', function (req, res) {
var username = req.body.username;
var password = req.body.password;
res.send('Username: ' + username + ', Password: ' + password);
});
// 启动服务器
app.listen(3000, function () {
console.log('Server is listening on port 3000!');
});
在该示例中,我们使用了body-parser中间件来解析POST请求的请求体。我们使用app.use方法将中间件函数注册到应用中,在路由规则中使用req.body属性来获取POST请求的请求体数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ExpressJS入门实例 - Python技术站