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 - это слаг-маршрут 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 для получения дополнительной информации.