如何让Remix Run多个路由指向同一个文件?
在Remix Run中实现多路由指向同一组件的方案
针对需求,让/houses和/housing路由与/house共享同一个routes/house.tsx组件,有两种简洁的实现方式:
方法一:通过Remix配置文件手动映射路由
在项目根目录的remix.config.js(或.ts)中,添加routes配置项,手动指定额外路由的指向:
/** @type {import('@remix-run/dev').AppConfig} */ export default { // 其他配置... routes(defineRoutes) { return defineRoutes((route) => { // 保留原有的/house路由映射 route("/house", "house.tsx"); // 新增/houses路由,指向同一个组件文件 route("/houses", "house.tsx"); // 新增/housing路由,指向同一个组件文件 route("/housing", "house.tsx"); }); }, };
这种方式的优势是所有路由映射集中管理,无需新增文件,适合需要批量配置多个别名路由的场景。
方法二:创建路由别名文件
在routes目录下创建houses.tsx和housing.tsx两个文件,直接导出house.tsx的所有内容:
routes/houses.tsx内容:
export * from "./house"; export { default } from "./house";
routes/housing.tsx内容:
export * from "./house"; export { default } from "./house";
这种方式更直观,符合Remix的文件系统路由约定,无需修改配置文件,适合少量路由别名的场景。
两种方式都能实现需求,你可以根据项目规模和个人偏好选择。
内容的提问来源于stack exchange,提问作者irl_irl
相关产品推荐
相关产品推荐

