登录
首页 >  文章 >  前端

Express渲染HTML及响应方法全解析

时间:2025-12-22 16:36:42 324浏览 收藏

推广推荐
免费电影APP ➜
支持 PC / 移动端,安全直达

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《Express渲染HTML页面与响应方法详解》,聊聊,我们一起来看看吧!

Express中返回HTML有四种方式:res.send()发送简单HTML字符串;res.sendFile()返回静态文件需用path.join(__dirname)确保路径正确;使用EJS等模板引擎渲染动态数据;通过express.static()托管整个public目录实现多页面静态资源访问。

express如何显示html_Express框架中HTML页面渲染与响应方法

在使用 Express 框架开发 Node.js 应用时,显示 HTML 页面是常见的需求。Express 提供了多种方式来渲染和响应 HTML 内容,具体方法取决于你是返回静态页面还是动态生成内容。

直接发送 HTML 字符串

如果你只需要返回简单的 HTML 内容,可以直接使用 res.send() 方法发送字符串形式的 HTML。

示例:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('<h1>欢迎来到首页</h1><p>这是一个简单的HTML页面</p>');
});

app.listen(3000, () => {
  console.log('服务器运行在 http://localhost:3000');
});
这种方式适合调试或返回极简内容,不适合复杂页面。

发送静态 HTML 文件

对于已存在的 HTML 文件(如 index.html),推荐使用 res.sendFile() 方法。

假设项目结构如下:

/project
  /public
    index.html
  app.js

代码示例:

const path = require('path');
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

app.listen(3000);
注意:必须使用绝对路径,__dirname 可确保路径正确。

使用模板引擎渲染动态 HTML

当需要动态数据插入 HTML(如用户信息、文章列表),应使用模板引擎,如 EJSPugHandlebars

以 EJS 为例:

  1. 安装 ejs:npm install ejs
  2. 设置模板目录和引擎:
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
  1. 创建 views/index.ejs
<h1><%= title %></h1>
<p>当前时间:<%= new Date().toLocaleString() %></p>
  1. 在路由中渲染:
app.get('/home', (req, res) => {
  res.render('index', { title: '动态页面示例' });
});
render 方法会自动查找视图文件并注入数据。

托管整个静态资源目录

如果有多页 HTML 或包含 CSS、JS 的完整网站,可使用 express.static() 中间件。
app.use(express.static(path.join(__dirname, 'public')));
将所有静态文件放入 public 目录,访问 /about.html 会自动返回对应文件。

基本上就这些常用方法。根据你的项目需求选择合适的方式:简单内容用 send,单个文件用 sendFile,动态数据配模板引擎,多页面站点用静态托管。不复杂但容易忽略路径和引擎配置细节。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>