新闻中心
nodejs如何添加html_Node.js服务端HTML渲染与响应方法
Node.js中返回HTML可通过原生HTTP模块直接发送字符串或使用模板引擎动态渲染。直接返回时需设置Content-Type为text/html并用res.end()发送HTML内容;对于动态数据,可结合EJS等模板引擎读取模板文件并渲染数据后返回;更推荐在中大型项目中使用Express框架,配置视图引擎后通过res.render()便捷地响应HTML页面,提升可维护性与开发效率。

在Node.js中返回HTML内容给客户端,通常有两种方式:直接返回静态HTML字符串,或通过模板引擎动态渲染页面。无论哪种方式,核心都是设置正确的响应头并发送HTML内容。
直接返回HTML字符串
适合简单场景,比如返回一个内联的HTML页面或维护提示页。
- 使用 res.writeHead() 设置状态码和Content-Type为
text/html - 通过 res.end() 发送HTML内容
示例代码:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
const html = `
<!DOCTYPE html>
<html>
<head><title>Node.js 页面</title></head>
<body>
<h1>欢迎访问 Node.js 服务</h1>
<p>这是通过 res.end() 直接返回的 HTML 内容。</p>
</body>
</html>
`;
res.end(html);
});
server.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
使用模板引擎渲染HTML(如EJS、Pug)
当需要动态数据插入HTML时,推荐使用模板引擎。以 EJS 为例:
- 安装 ejs:
npm install ejs - 创建模板文件(如 views/index.ejs)
- 在路由中读取模板并渲染数据
示例目录结构:
ChatCut
AI视频剪辑工具
1086
查看详情
/views index.ejs app.js
views/index.ejs 文件内容:
<!DOCTYPE html>
<html>
<head><title><%= title %></title></head>
<body>
<h1><%= message %></h1>
</body>
</html>
app.js 中使用 EJS 渲染:
const http = require('http');
const fs = require('fs');
const path = require('path');
const ejs = require('ejs');
const server = http.createServer((req, res) => {
const filePath = path.join(__dirname, 'views', 'index.ejs');
fs.readFile(filePath, 'utf8', (err, template) => {
if (err) {
res.writeHead(500, { 'Content-Type': 'text/plain' });
return res.end('模板读取失败');
}
const html = ejs.render(template, {
title: '动态页面',
message: 'Hello from EJS!'
});
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.end(html);
});
});
server.listen(3000);
使用 Express 框架简化HTML响应
Express 是最常用的 Node.js Web 框架,内置对模板引擎的支持。
- 安装 express 和 ejs:
npm install express ejs - 配置视图目录和引擎
- 使用 res.render() 发送渲染后的页面
示例:
const express = require('express');
const app = express();
// 设置模板引擎
app.set('view engine', 'ejs');
app.set('views', './views');
app.get('/', (req, res) => {
res.render('index', {
title: 'Express + EJS',
message: '这是通过 Express 渲染的页面'
});
});
app.listen(3000, () => {
console.log('服务启动在 http://localhost:3000');
});
基本上就这些。根据项目复杂度选择合适的方式:小项目可用原生返回HTML,中大型建议用Express配合模板引擎,便于维护和扩展。
以上就是nodejs如何添加html_Node.js服务端HTML渲染与响应方法的详细内容,更多请关注其它相关文章!
# 如何下载
# 网站建设代码范例
# 大连seo推广营销
# 建设与开发英文网站
# 移动网站seo优化注意事项
# 百度关键词地区排名查询php源码
# 西湖网站营销推广
# 长沙seo外链优化
# 营销引流推广案例分析题
# 登封免费网站建设
# 地产网站seo优化方法
# 解决问题
# 中文网
# 相关文章
# 雪夜
# 推荐使用
# 网页html
# 都是
# 网上
# 服务端
# 这是
# 状态码
# 路由
# ai
# app
# npm
# node
# node.js
# js
# html
# nodejs
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
哔哩哔哩忘记密码了怎么找回_哔哩哔哩密码找回方法
126邮箱手机版登录官网2026_126手机邮箱免费入口最新
神经网络二分类模型训练异常:高损失与完美验证准确率的排查与修正
Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组
在Runstone环境中高效处理TasteDive API的JSON数据
mcjs网页版流畅运行 mcjs低配电脑畅玩入口
如何在离线环境中使用Composer_Composer离线安装依赖包的技巧与策略
德邦快递查询平台 德邦快递物流信息查询入口
CSS Box Model与弹性按钮:维持布局稳定的动画实践
一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证
韩小圈电脑版在线入口_网页版免费登录地址
c++如何实现一个简单的软件渲染器_c++从零开始的3D图形学
从J*aScript对象中精确提取指定属性的教程
提升Kafka消费者健壮性:会话超时处理与消息处理语义
在命令行怎么运行html项目_命令行运行html项目方法【教程】
邮政快递单号查询入口 邮政快递物流信息在线查询入口
J*aScript中高效管理与清空动态列表:避免循环陷阱
反效果?《战地6》免费试玩开启后玩家数不升反降
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口
如何有效阻止外部脚本意外修改内联样式的高度属性
深入理解J*aScript中的B样条曲线与节点向量生成
php源码怎么看淘宝客系统_看php源码淘宝客系统技巧
Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】
Win11怎么修改默认浏览器_Windows 11设置Chrome为默认
微信语音通话掉线如何解决 微信语音通话稳定优化方法
iCloud登录入口网页版 苹果iCloud官网登录
Composer的 "conflict" 字段有什么用_如何声明不兼容的包以避免依赖冲突
Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式
mysql如何设置表访问权限_mysql表访问权限配置
sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程
Kafka Streams中基于消息头条件过滤消息的实现指南
J*a应用程序首次运行自动创建文件与目录的最佳实践
极兔快递快件信息查询系统 极兔快递官网运单号追踪
内存检查:在VS Code中调试C++时的内存视图
深入理解rpy2中的类型转换:优化Python对象到R矩阵的映射
Python中高效访问嵌套字典与列表中的键值对
Mac怎么查看崩溃日志_Mac控制台错误报告分析
Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践
曝R星经典之作开发图 设计简陋但信息密集!
蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】
网易大神怎么保存别人动态的图片_网易大神动态图片保存方法
如何在 Excel Online 和 Google 表格中更改日期格式
理解Python模块与全局变量的作用域管理
如何使用J*aScript精确选择并批量修改特定父元素下子链接的样式
DLsite中文平台入口 DLsite官网内容在线查看
如何在Python中使用Optional类型处理可变对象并避免Pylint警告
html网页设计源代码怎么运行_运行html网页设计源代码步骤【指南】
如何使 Jest 模拟函数默认抛出错误以提高测试效率
铁路12306官网网页端快速入口 铁路12306官方首页登录教程


2025-11-02
浏览次数:次
返回列表