Jump to content

Файлова структура

Будь ласка, виберіть пакети, щоб побачити файлову структуру нового додатка з обраними пакетами. Нижче ви знайдете опис кожного елемента.

  

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-бекенду. У ньому ми:

  1. Визначаємо контекст, який використовується в запитах tRPC. Дивіться Використання tRPC для отримання додаткової інформації.
  2. Експортуємо допоміжні функції процедур. Дивіться Використання 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.cjs

Файл postcss.config.cjs використовується для використання 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. Дивіться документацію для отримання додаткової інформації.