Next JS - API 实用程序文件夹结构

Way*_*yne 6 api next.js

我正在使用 Next JS 和 api 路由来创建我的 api。如果有人可以回答,我有2个问题。

  1. 如果我想使用需要包含在多个 api 文件中的实用程序函数或全局常量变量,存储它的最佳位置在哪里?并使用相对路径导入它们?

  2. 有没有一个 Next JS 项目的例子,它不仅仅是你的基本 api 路由教程,可以从文件夹结构方面学习?

小智 22

您可以将 util 函数保存在项目文件夹根目录下的 utils 文件夹中。

|-root
  |-components
    |-Navbar.js
    |-Footer.js
  |-styles
    |-global.css 
    |-navbar.module.css   
    |-footer.module.css        
  |-pages
    |-api
      |-users.js
    |-index.js
  |-utils
    |- dbConnect.js
Run Code Online (Sandbox Code Playgroud)

假设您想从以下位置导入 dbConnect.jspages/api/user.js

  • 相对导入:

import dbConnect from '../../utils/dbConnect';

  • 绝对导入:

import dbConnect from 'src/utils/dbConnect';

以下是可能对您有所帮助的示例项目的链接:https ://github.com/vercel/next.js/tree/canary/examples/with-mongodb-mongoose

如果您对使用绝对导入感兴趣,可以查看此文档链接: https: //nextjs.org/docs/advanced-features/module-path-aliases

  • 回答我自己:默认情况下,任何不是从客户端代码导入(并且仅在 API 代码中导入)的内容都不应该捆绑到客户端中。 (12认同)