介绍
Express.js 是目前最流行的 Node.js Web 应用开发框架之一,适用于快速构建高度可扩展的 Web 应用程序。本文将介绍如何使用 Express.js 构建一个简单的网站。
前置知识
在学习 Express.js 之前,你需要拥有基本的 Node.js 知识和了解 HTTP 协议。
安装和设置 Express.js
首先,我们需要安装和设置 Express.js。打开终端并运行以下命令:
$ npm install -g express-generator
然后,在您想要创建应用程序的目录中运行以下命令:
$ express myapp
这将创建一个名为“myapp”的基本 Express 应用程序,其中包括一些初始文件和目录。您需要使用 cd 命令导航到 myapp 目录,然后安装依赖项:
$ cd myapp $ npm install
现在,您可以运行应用程序并在浏览器中访问它:
$ npm start
默认情况下,Express 应用程序运行在端口 3000 上。打开浏览器并访问 http://localhost:3000,您应该看到“Welcome to Express”页面。
创建路由
在 Express.js 中,路由负责处理客户端请求。我们需要创建一些路由来处理我们应用程序中的不同请求。
在 myapp 目录中,打开 app.js 文件。这是我们主要的应用程序文件,其中包含路由和其他配置。
我们可以通过以下方式创建路由:
app.get('/hello', function(req, res) { res.send('Hello, World!'); });
这里,我们创建了一个名为“hello”的 GET 路由,当客户端请求路径为 /hello 时,该路由将发送“Hello,World!”响应。
我们可以根据需要创建多个路由,使用 app.post()、app.put()、app.delete() 等指定请求类型。
使用模板引擎
在现代 Web 开发中,大多数网站都使用模板引擎生成 HTML。Express.js 支持多个模板引擎,包括 EJS、Pug、Handlebars 等。
在本例中,我们将使用 EJS 模板引擎。首先,我们需要在 myapp 目录中安装 EJS:
$ npm install ejs --save
然后,我们需要在 app.js 中设置模板引擎。我们可以使用以下方法设置 EJS 作为默认模板引擎:
app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs');
这里,我们将模板文件存储在 myapp/views 目录中,并将 EJS 设置为默认模板引擎。
现在,我们可以创建一个 EJS 模板(例如 myapp/views/index.ejs),然后在路由中使用它:
app.get('/', function(req, res) { res.render('index', { title: 'Express' }); });
这里,我们创建了一个名为“index”的路由,它将呈现 myapp/views/index.ejs 模板,并将标题设置为“Express”。
处理 POST 请求
通过 HTTP POST 请求发送数据是在 Web 开发中最常见的操作之一。我们需要使用 Express.js 处理 POST 请求并从中提取数据。
在我们开始处理 POST 请求之前,我们需要安装 body-parser 中间件:
$ npm install body-parser --save
然后,在 app.js 文件中,将以下代码添加到顶部:
var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: false }));
现在,我们可以创建一个 POST 路由,用于处理数据并发送响应。例如:
app.post('/submit', function(req, res) { var username = req.body.username; res.send('Hello, ' + username + '!'); });
这里,我们创建了一个名为“submit”的 POST 路由。它将从请求正文中提取 username 参数,然后发送“Hello,{username}!”响应。
结论
Express.js 是 Node.js Web 应用开发的一个出色框架,可以帮助您快速构建高度可扩展的 Web 应用程序。在本文中,我们介绍了如何使用 Express.js 构建一个简单的网站,并创建路由、使用模板引擎和处理 POST 请求。通过细心的学习和实践,您可以使用 Express.js 构建更复杂的 Web 应用程序。
示例代码
下面是完整的示例代码:
-- -------------------- ---- ------- --- ------- - ------------------- --- ---- - ---------------- --- ---------- - ----------------------- --- --- - ---------- ---------------- -------------------- ---------- ------------- -------- ------- ------------------------------- --------- ----- ---- ------------ ------------- ---- - ------------------- - ------ --------- --- --- ----------------- ------------- ---- - ---------------- --------- --- ------------------- ------------- ---- - --- -------- - ------------------ ---------------- - - -------- - ----- --- ---------------- ---------- - ---------------------- -- ---- ---------- ---
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/673729fb317fbffedf088eeb