使用 express 极简处理前端路由的 history 模式问题

主要使用的中间件:
bripkens/connect-history-api-fallback: Fallback to index.html for applications that are using the HTML 5 history API

serve.js

const express = require("express");
const history = require("connect-history-api-fallback");

const app = express();

// 先定义后端路由
app.get("/health", function (req, res) {
  res.send("ok");
});

// 再使用 history 中间件
app.use(history());

// 最后配置 静态资源文件
app.use(express.static(__dirname + "/public"));

// 监听端口号
app.listen(8081, () => {
  console.log("服务已启动");
});

执行:node serve.js

PS 需要前端处理路由不匹配问题(404)

在 koa 中使用这个中间件#

上面这个中间件是基于 express 的,在 koa/egg.js 中使用,可以借助 koa-connect 这个库。

详见:每天一个npm包:koa-connect - 知乎
GitHub - vkurchatkin/koa-connect: Use connect and express middleware in koa

参考:
教你怎么快速搭建一个 Node + Express 静态服务器 - 简书
Express 路由
HTML5 History 模式 | Vue Router

作者:JasonGrass

出处:https://www.cnblogs.com/jasongrass/p/15703534.html

版权:本作品采用「署名 4.0 国际」许可协议进行许可。

posted @   J.晒太阳的猫  阅读(374)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2020-12-17 [笔记] C# 使用 lambda 表达式进行对象的值获取与赋值
2018-12-17 常用 CMD 命令
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示