本文共 2050 字,大约阅读时间需要 6 分钟。
Express是基于Node.js的流行Web开发框架,适合快速搭建高效的Web应用。其核心优势在于简化了服务器端开发流程,通过提供一系列功能强大的中间件,帮助开发者高效完成HTTP服务开发。
通过Express的应用生成器工具express-generator,开发者可以快速创建项目骨架。以下是环境搭建的步骤:
$ npm install express-generator -g
Express框架建立在Node.js内置的http模块之上。原始的http模块实现了服务器端的基本功能,而Express通过对其进行抽象和封装,使开发者能够更高效地构建应用。
以下是使用http模块创建服务器的原始代码:
var http = require("http");var app = http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello world!");});app.listen(3000, "localhost"); 使用Express框架重写后的代码如下:
var express = require('express');var app = express();app.get('/', function (req, res) { res.send('Hello world!');});app.listen(3000); 中间件是Express应用的核心组成部分,主要负责处理HTTP请求。每个中间件接受三个参数:request(请求对象)、response(响应对象)和next(下一个中间件)。其主要职责是对请求进行加工,并决定是否调用下一个中间件或终止请求处理流程。
function uselessMiddleware(req, res, next) { next();} function uselessMiddleware(req, res, next) { next('出错了!');} Express框架提供了use方法用于注册中间件。以下是一个连续调用两个中间件的示例:
var express = require("express");var http = require("http");var app = express();app.use(function(request, response, next) { console.log("In comes a " + request.method + " to " + request.url); next();});app.use(function(request, response) { response.writeHead(200, { "Content-Type": "text/plain" }); response.end("Hello world!\n");});http.createServer(app).listen(1337); 通过use方法,开发者可以根据请求路径实现简单的路由控制。例如:
var express = require("express");var app = express();app.use(function(request, response, next) { if (request.url == "/") { response.writeHead(200, { "Content-Type": "text/plain" }); response.end("Welcome to the homepage!\n"); } else { next(); }});app.use(function(request, response, next) { if (request.url == "/about") { response.writeHead(200, { "Content-Type": "text/plain" }); response.end("About页面内容!\n"); } else { next(); }}); 通过上述代码,开发者可以根据请求路径自由定义不同的响应行为。
转载地址:http://qxjfk.baihongyu.com/