Next.js 逻辑JS/TS文件存放位置及SSG公共函数存放规范问询
Next.js 公共函数存放规范
Next.js 本身没有强制要求的专用公共函数目录,社区通用的实践方案如下:
- 最常用的是根目录下新建
lib/目录,你提到的接口请求、数据清洗类通用函数都可以存放在这里,还可以按需拆分子目录:比如lib/fetchers/专门存放各类封装好的FETCH请求函数,lib/formatters/存放数据清洗、格式转换逻辑,在页面的getStaticProps里直接导入对应函数调用即可,完全不会和pages目录的路由逻辑产生冲突。 - 如果是按业务模块划分的专用逻辑,也可以在根目录新建
services/目录存放,比如所有商品相关的请求、数据处理逻辑都放到services/goods.js下,业务边界更清晰。 - 注意不要把这类纯工具函数放到
pages/api/目录下:该目录下的所有文件都会被Next.js识别为API路由,编译后会生成对应的接口端点,放工具函数会产生不必要的无效接口资源。
如果某类函数仅为单个页面的getStaticProps服务,也可以在pages目录下对应页面文件的同级位置新建辅助文件存放,比如pages/article.js对应pages/article.utils.js,但可复用的通用函数还是优先放在根目录的lib/或services/下更合适。
内容的提问来源于stack exchange,提问作者HenrijsS
相关产品推荐
相关产品推荐

