#api #next.js
#API #next.js
Вопрос:
Я использую Next JS и маршруты api для создания своих API. У меня есть 2 вопроса, если кто-нибудь может ответить.
-
Если я хочу использовать служебную функцию или глобальные постоянные переменные, которые мне нужно включить в несколько файлов api, где лучше всего их хранить? И импортировать их, используя относительные пути?
-
Есть ли пример следующего проекта JS, который не является просто вашим учебным пособием по базовым маршрутам api для изучения структур папок?
Ответ №1:
Вы можете сохранить свои функции 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
Допустим, вы хотите импортировать dbConnect.js от pages/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
Комментарии:
1. Как я могу убедиться, что утилиты для API не включены в клиент?
2. Чтобы ответить самому себе: все, что не импортируется из клиентского кода (и импортируется только в коде API), не должно быть включено в клиент по умолчанию.
3. @Risadinha спасибо за продолжение, это был ответ, который я искал.
4. @Risadinha Ваш комментарий помог мне — наличие utils/helpers.js и еще utils/api_helpers.js чтобы избежать импорта клиента и api из одного и того же файла, моя проблема была решена