You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Remix中助手代码与TypeScript类型的非路由存放位置咨询

在Remix中存放非路由代码的正确方式

针对你提到的助手函数和类型文件的存放问题,有两种靠谱的方案:

  • 方案一:在app目录内使用下划线前缀命名
    Remix会自动忽略以下划线_开头的文件夹和文件,不会将它们识别为路由。所以你可以直接在app目录下创建_helpers和_types文件夹,分别存放TypeScript助手函数和类型定义。示例结构:
app/
├── _helpers/
│   ├── formatDate.ts
│   └── apiClient.ts
├── _types/
│   ├── user.ts
│   └── post.ts
└── routes/
    └── index.tsx

这种方式的好处是相关代码和app逻辑放在一起,导入路径更短,比如import { formatDate } from "~/helpers/formatDate"(Remix默认配置了~/指向app目录)。

  • 方案二:将代码放在app目录外
    你也可以在项目根目录下创建独立的文件夹,比如lib(放助手函数)和types(放类型定义),示例结构:
your-project/
├── app/
│   └── routes/
│       └── index.tsx
├── lib/
│   ├── formatDate.ts
│   └── apiClient.ts
└── types/
    ├── user.ts
    └── post.ts

导入时可以配置tsconfig.json里的paths简化路径,或者直接用相对路径,比如import { formatDate } from "../lib/formatDate"。这种方式适合把通用工具代码和业务路由代码彻底分离,方便跨项目复用。

不管选哪种方案,只要避免让文件符合Remix的路由命名规则(比如不要用$这类路由参数前缀,不要直接放在routes目录下),就不会被当成路由暴露出去。

内容的提问来源于stack exchange,提问作者Vippy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 10:29:53