如何在Node.js(Express框架)中实现多HTML页面跳转
解决Express下HTML页面跳转问题的方法
第一步:配置静态文件托管
把所有HTML、CSS、JS等静态文件统一放在项目根目录的public文件夹中,然后在server.js里添加静态资源托管代码:const express = require('express'); const app = express(); // 托管public目录下的静态资源 app.use(express.static('public')); // 启动服务器 app.listen(8080, () => { console.log('服务器运行在http://localhost:8080'); });配置后,Express会自动处理
public目录下的静态文件请求,直接通过http://localhost:8080/list.html就能访问页面。第二步:调整HTML页面的跳转链接
在list.html里,将跳转链接修改为对应文件的正确路径,比如:<a href="/write.html">去写公告</a> <a href="/edit.html">编辑公告</a> <a href="/view.html">查看公告</a>(可选)用路由规范页面访问
如果不想直接通过静态文件路径访问,也可以给每个页面配置独立路由,在server.js中添加:// 根路径返回list.html app.get('/', (req, res) => { res.sendFile(__dirname + '/public/list.html'); }); // 处理write页面请求 app.get('/write', (req, res) => { res.sendFile(__dirname + '/public/write.html'); }); // 处理edit页面请求 app.get('/edit', (req, res) => { res.sendFile(__dirname + '/public/edit.html'); }); // 处理view页面请求 app.get('/view', (req, res) => { res.sendFile(__dirname + '/public/view.html'); });对应的HTML跳转链接也要改成路由路径:
<a href="/write">去写公告</a> <a href="/edit">编辑公告</a> <a href="/view">查看公告</a>
注意事项:
- 确认所有HTML文件都放在指定的静态目录(如
public)下,文件路径不要写错,__dirname代表当前server.js所在的目录。 - 启动服务器后,如果跳转失败,查看控制台报错信息,根据提示调整路径或配置。
内容的提问来源于stack exchange,提问作者cym1212
相关产品推荐
相关产品推荐

