Файлова структура (Pages)
Будь ласка, виберіть пакети, щоб побачити файлову структуру нового додатка з обраними пакетами. Нижче ви знайдете опис кожного елемента.
prisma
Папка prisma
містить файл schema.prisma
, який використовується для налаштування з’єднання з базою даних і схеми бази даних. Також це місце для зберігання файлів міграції та/або сценаріїв заповнення, якщо вони використовуються. Дивіться Використання Prisma для отримання додаткової інформації.
public
Папка public
містить статичні файли, які обслуговуються веб-сервером. Файл favicon.ico
- це приклад статичного файлу.
src/env
Використовується для перевірки змінних оточення і визначення типів - дивіться Змінні оточення.
src/pages
Папка pages
містить усі сторінки додатка Next.js. Файл index.tsx
у кореневій папці /pages
є домашньою сторінкою додатка. Файл _app.tsx
використовується для обертання додатка провайдерами. Дивіться документацію Next.js↗ для отримання додаткової інформації.
src/pages/api
Папка api
містить усі маршрути API додатка Next.js. Файл examples.ts
(з Prisma) містить приклад маршруту, який використовує функцію Next.js API route↗ разом із Prisma. Файл restricted.ts
(з Next-Auth) містить приклад маршруту, який використовує функцію Next.js API route↗ і захищений за допомогою NextAuth.js↗.
src/pages/api/auth/[...nextauth].ts
Файл [...nextauth].ts
- це slug-маршрут NextAuth.js для аутентифікації. Він використовується для обробки запитів аутентифікації. Дивіться Використання NextAuth.js для отримання додаткової інформації про NextAuth.js і документацію Next.js про динамічні маршрути↗ для отримання інформації про маршрути catch-all/slug.
src/pages/api/trpc/[trpc].ts
Файл [trpc].ts
- це точка входу tRPC API. Він використовується для обробки запитів tRPC. Дивіться Використання tRPC для отримання додаткової інформації про цей файл і документацію Next.js про динамічні маршрути↗ для отримання інформації про маршрути catch-all/slug.
src/server
Папка server
використовується для чіткого поділу серверного коду від клієнтського коду.
src/server/auth.ts
Містить утиліти для автентифікації, такі як отримання сесії користувача на стороні сервера. Дивіться Використання NextAuth.js для отримання додаткової інформації.
src/server/db.ts
Файл db.ts
використовується для створення клієнта Prisma на глобальному рівні. Дивіться Використання Prisma і кращі практики по використанню Prisma з Next.js↗ для отримання додаткової інформації.
src/server/api
Папка api
містить серверний код tRPC.
src/server/api/routers
Папка routers
містить усі ваші під-маршрутизатори tRPC.
src/server/api/routers/example.ts
Файл example.ts
- це приклад маршрутизатора tRPC, який використовує допоміжну функцію publicProcedure
для демонстрації того, як створити публічний маршрут tRPC.
Базуючись на обраних вами пакетах, цей маршрутизатор містить більше або менше маршрутів для кращого демонстрування використання ваших потреб.
src/server/api/trpc.ts
Файл trpc.ts
- це основний файл конфігурації для вашого tRPC-бекенду. У ньому ми:
- Визначаємо контекст, який використовується в запитах tRPC. Дивіться Використання tRPC для отримання додаткової інформації.
- Експортуємо допоміжні функції процедур. Дивіться Використання tRPC для отримання додаткової інформації.
src/server/api/root.ts
Файл root.ts
використовується для мерджу маршрутизаторів tRPC і експорту їх як єдиного маршрутизатора, а також визначення типу маршрутизатора. Дивіться Використання tRPC для отримання додаткової інформації.
src/styles
Папка styles
містить глобальні стилі додатка.
src/types
Папка types
використовується для зберігання повторно використовуваних типів або оголошень типів.
src/types/next-auth.d.ts
Файл next-auth.d.ts
використовується для розширення типу сесії за замовчуванням NextAuth на включення ідентифікатора користувача. Дивіться Використання NextAuth.js для отримання додаткової інформації.
src/utils
Папка utils
використовується для зберігання повторно використовуваних функцій утиліт.
src/utils/api.ts
Файл api.ts
є точкою входу для tRPC на стороні клієнта. Дивіться Використання tRPC для отримання додаткової інформації.
.env
Файл .env
використовується для зберігання змінних середовища. Дивіться Змінні середовища для отримання додаткової інформації. Цей файл не повинен бути доданий в історію git.
.env.example
Файл .env.example
показує приклад змінних середовища на основі обраних бібліотек. Цей файл має бути доданий в історію git.
.eslintrc.cjs
Файл .eslintrc.cjs
використовується для налаштування ESLint. Дивіться документацію ESLint↗ для отримання додаткової інформації.
next-env.d.ts
Файл next-env.d.ts
гарантує, що типи Next.js будуть виявлені компілятором TypeScript. Ви не повинні видаляти його або редагувати, оскільки він може змінитися в будь-який час. Дивіться документацію Next.js↗ для отримання додаткової інформації.
next.config.mjs
Файл next.config.mjs
використовується для налаштування Next.js. Дивіться Документацію Next.js↗ для отримання додаткової інформації. Примітка: Розширення .mjs використовується для дозволу імпорту ESM.
postcss.config.js
Файл postcss.config.js
використовується для використання Tailwind PostCSS. Дивіться документацію Taiwind PostCSS↗ для отримання додаткової інформації.
prettier.config.mjs
Файл prettier.config.mjs
використовується для налаштування Prettier для ввімкнення prettier-plugin-tailwindcss для форматування класів Tailwind CSS. Дивіться пост блогу Tailwind CSS↗ для отримання додаткової інформації.
tsconfig.json
Файл tsconfig.json
використовується для налаштування TypeScript. Деякі значення за замовчуванням, такі як strict mode
, були увімкнені для забезпечення кращого використання TypeScript для create-t3-app та його бібліотек. Дивіться документацію TypeScript↗ або Використання TypeScript для отримання додаткової інформації.
drizzle.config.ts
Файл drizzle.config.ts
використовується для налаштування drizzle kit. Дивіться документацію↗ для отримання додаткової інформації.