Начало работы¶
Создание нового проекта¶
Мы рекомендуем использовать pnpm
в качестве менеджера пакетов, так как он быстрее и эффективнее, чем npm
или yarn
. Если у вас не установлен pnpm
, вы можете установить его глобально, выполнив команду:
Терминал | |
---|---|
1 |
|
Чтобы создать приложение Next.js, откройте терминал, перейдите в папку, в которой вы хотите хранить свой проект, и выполните следующую команду:
Терминал | |
---|---|
1 |
|
Эта команда использует create-next-app
, инструмент интерфейса командной строки (CLI), который создает для вас приложение Next.js. В приведенной выше команде вы также используете флаг --example
с начальным примером для этого курса.
Изучение проекта¶
В отличие от учебников, в которых вам приходится писать код с нуля, большая часть кода для этого курса уже написана за вас. Это лучше отражает реальную разработку, где вы, скорее всего, будете работать с существующими кодовыми базами.
Наша цель - помочь вам сосредоточиться на изучении основных возможностей Next.js, не прибегая к написанию всего кода приложения.
После установки откройте проект в редакторе кода и перейдите к nextjs-dashboard
.
Терминал | |
---|---|
1 |
|
Давайте потратим немного времени на изучение проекта.
Структура папок¶
Вы заметите, что проект имеет следующую структуру папок:
/app
: Содержит все маршруты, компоненты и логику вашего приложения, именно здесь вы будете работать в основном./app/lib
: Содержит функции, используемые в вашем приложении, такие как утилиты многократного использования и функции получения данных./app/ui
: Содержит все компоненты пользовательского интерфейса вашего приложения, такие как карточки, таблицы и формы. Чтобы сэкономить время, мы предварительно стилизовали эти компоненты для вас./public
: Содержит все статические активы вашего приложения, такие как изображения.- Файлы конфигурации: В корне вашего приложения вы также заметите файлы конфигурации, такие как
next.config.ts
. Большинство этих файлов создаются и предварительно настраиваются при запуске нового проекта с помощьюcreate-next-app
. В этом курсе вам не придется их изменять.
Не стесняйтесь исследовать эти папки и не волнуйтесь, если вы пока не понимаете всего, что делает код.
Данные-заполнители¶
Когда вы создаете пользовательские интерфейсы, полезно иметь некоторые данные-заполнители. Если база данных или API еще не доступны, вы можете:
- Использовать данные-заполнители в формате JSON или в виде объектов JavaScript.
- Использовать сторонний сервис, например mockAPI.
Для этого проекта мы предоставили некоторые данные-плейсхолдеры в app/lib/placeholder-data.ts
. Каждый объект JavaScript в этом файле представляет собой таблицу в вашей базе данных. Например, для таблицы счетов-фактур:
/app/lib/placeholder-data.ts | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
В главе, посвященной настройке базы данных, вы будете использовать эти данные для посева базы данных (наполнения ее некоторыми исходными данными).
TypeScript¶
Вы также можете заметить, что большинство файлов имеют суффикс .ts
или .tsx
. Это потому, что проект написан на TypeScript. Мы хотели создать курс, отражающий современный веб-ландшафт.
Ничего страшного, если вы не знаете TypeScript - мы будем предоставлять фрагменты кода на TypeScript, когда это потребуется.
А пока посмотрите на файл /app/lib/definitions.ts
. Здесь мы вручную определяем типы, которые будут возвращаться из базы данных. Например, таблица invoices
имеет следующие типы:
/app/lib/definitions.ts | |
---|---|
1 2 3 4 5 6 7 8 9 10 |
|
Используя TypeScript, вы можете исключить случайную передачу неправильного формата данных в компоненты или базу данных, например, передачу string
вместо number
в amount
.
Если вы являетесь разработчиком TypeScript:
- Мы вручную объявляем типы данных, но для большей безопасности типов мы рекомендуем Prisma или Drizzle, которые автоматически генерируют типы на основе схемы вашей базы данных.
- Next.js определяет, использует ли ваш проект TypeScript, и автоматически устанавливает необходимые пакеты и конфигурацию. Next.js также поставляется с плагином TypeScript для вашего редактора кода, чтобы помочь с автозаполнением и безопасностью типов.
Запуск сервера разработки¶
Запустите pnpm i
, чтобы установить пакеты проекта.
Терминал | |
---|---|
1 |
|
За ним следует pnpm dev
, чтобы запустить сервер разработки.
Терминал | |
---|---|
1 |
|
pnpm dev
запускает ваш сервер разработки Next.js на порту 3000
. Давайте проверим, работает ли он.
Откройте http://localhost:3000 в вашем браузере. Ваша домашняя страница должна выглядеть так, как показано на этой странице, которая намеренно не оформлена:
Источник — https://nextjs.org/learn/dashboard-app/getting-started