Express.js 是一个流行的 Node.js web 框架,它可以轻松地创建 web 应用程序,包括多页面应用程序。在本篇文章中,我们将介绍如何使用 Express.js 创建一个多页面应用程序,并提供了示例代码和一些实用的技巧。
什么是多页面应用程序?
多页面应用程序是指一个网站包含多个独立的 HTML 页面,并且这些页面通过链接相互连接。每个页面都有自己的独立 URL,用户可以通过点击链接或输入 URL 地址来访问页面。相比于单页面应用程序(SPA),多页面应用程序更容易理解和维护,适合于需要 SEO 的项目。
要使用 Express.js 开发多页面应用程序,我们需要遵循以下步骤:
- 安装 Express.js
首先,我们需要安装 Express.js。可以使用 npm 包管理器运行以下命令:
npm install express --save
- 创建 Express.js 应用程序
创建一个新目录,并在该目录中创建一个新的 Node.js 文件。在该文件中,引入 Express.js 库并创建一个应用程序。然后,使用 app.get() 方法创建一个路由处理程序,并返回要呈现的页面。示例代码如下:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- ------------ -------- ----- ---- - --------------- -------- -- ----------------- -------- ----- ---- - ---------------------- - -------------- -- ---------------- -------- -- - -------------------- --- --------- -- ---- ------- --
在上面的示例代码中,我们创建了两个路由处理程序。第一个处理程序将返回 "Hello World!",第二个处理程序将使用 res.sendFile() 方法呈现 about.html 页面。
- 创建多个页面
在上面的示例代码中,我们已经创建了一个名为 about.html 的页面。可以在同一目录中创建多个页面,然后使用不同的路由处理程序返回这些页面。例如:
app.get('/contact', function (req, res) { res.sendFile(__dirname + '/contact.html') })
- 使用模板引擎
Express.js 可以使用多种模板引擎呈现 HTML 页面,包括 EJS、Pug、Handlebars 等。可以使用以下命令安装 EJS 模板引擎:
npm install ejs --save
然后,使用以下代码在 Express.js 中设置 EJS 模板引擎:
app.set('view engine', 'ejs')
现在,可以在 views 目录中创建一个 EJS 模板文件,并使用 res.render() 方法呈现该文件:
app.get('/user/:id', function (req, res) { res.render('user', { id: req.params.id, name: 'John Doe', age: 30 }) })
在上面的示例代码中,我们使用 res.render() 方法呈现名为 user.ejs 的模板文件,并传递一些数据。
总结
通过使用 Express.js,我们可以轻松地创建多页面应用程序。要创建多个页面,只需要使用不同的路由处理程序。如果需要使用模板引擎,可以使用 EJS、Pug、Handlebars 等。希望本文对你有所帮助,并提供了一些实用的技巧和指导。
示例代码
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- -- -- --- ---- ------------- -------- ------ -- ------ - -- ------------ -------- ----- ---- - --------------- -------- -- -- ------ - ---- ----------------- -------- ----- ---- - ---------------------- - -------------- -- -- ------ - ---- ------------------- -------- ----- ---- - ---------------------- - ---------------- -- -- ------ - ---- -------------------- -------- ----- ---- - ------------------ - --- -------------- ----- ----- ----- ---- -- -- -- -- ------ ---------------- -------- -- - ----------------------- ------- --
参考资料
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646d5f39968c7c53b0c1025a