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