,

Fast start with NextJS 13.

Posted by






NextJS 13. Быстрый старт

NextJS 13. Быстрый старт

NextJS – это фреймворк для разработки React-приложений с отличной производительностью и интуитивной структурой. Версия 13 знаменует собой множество новых функций и улучшений. Давайте рассмотрим некоторые из них.

Установка

Для установки NextJS 13 вам понадобится Node.js и пакетный менеджер npm или yarn. Выполните следующую команду в терминале для установки:

  
    $ npm install next@13
  

Создание нового проекта

После успешной установки, создайте новую папку для вашего проекта и перейдите в нее:

  
    $ mkdir my-next-project
    $ cd my-next-project
  

Затем выполните следующую команду, чтобы создать новый NextJS проект:

  
    $ npx create-next-app .
  

Разработка

Теперь вы можете начать разрабатывать свое приложение. Все компоненты и страницы следует размещать в папке “pages”, а стили – в папке “styles”.

  
    my-next-project/
    ├── pages/
    │   ├── index.js
    │   └── about.js
    ├── styles/
    │   └── main.css
    ├── next.config.js
    └── package.json
  

Для запуска разработческого сервера, используйте следующую команду:

  
    $ npm run dev
  

Это запустит сервер по адресу http://localhost:3000, где вы сможете увидеть свое приложение в работе.

Пользовательские маршруты и динамические параметры

NextJS 13 предлагает простой синтаксис для создания пользовательских маршрутов и работы с динамическими параметрами. Например, для создания маршрута “/users/:id” можно создать файл “users/[id].js” внутри папки “pages”.

  
    my-next-project/
    ├── pages/
    │   ├── index.js
    │   ├── about.js
    │   └── users/
    │       └── [id].js
    ├── styles/
    │   └── main.css
    ├── next.config.js
    └── package.json
  

Теперь, когда вы открываете страницу “/users/123”, параметр “id” будет доступен внутри компонента “users/[id].js”. Вы можете использовать его для запросов к серверу или для отображения динамического контента.

Использование API и серверной отрисовки (SSR)

NextJS 13 предоставляет встроенную поддержку серверной отрисовки. Вы можете создавать серверные функции внутри папки “pages/api” и получать доступ к ним по адресу “/api/название_файла”. Например, создайте файл “pages/api/users.js” для получения списка пользователей.

  
    my-next-project/
    ├── pages/
    │   ├── index.js
    │   ├── about.js
    │   ├── users/
    │   │   └── [id].js
    │   └── api/
    │       └── users.js
    ├── styles/
    │   └── main.css
    ├── next.config.js
    └── package.json
  

Внутри файла “users.js” вы можете написать код для получения данных, например, из базы данных, и вернуть их в виде JSON. Этот файл будет доступен по адресу “/api/users”.

При работе с серверной отрисовкой в NextJS также доступны серверные функции getServerSideProps и getStaticProps для получения данных, которые будут переданы в компонент страницы.

Заключение

NextJS 13 – блестящий фреймворк для разработки React-приложений с множеством полезных функций и простым в использовании синтаксисом. Он позволяет создавать производительные и масштабируемые приложения без лишних хлопот. Если вы только начинаете свой путь в разработке или уже опытный разработчик, NextJS будет отличным выбором для вас.


0 0 votes
Article Rating
20 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Федор
10 months ago

Только у меня проблемы со стилями возникли?

Aleksandr Zelenskiy
10 months ago

Очень интересно и понятно, спасибо

Олег Сергеевич
10 months ago

Супер! Единственный нормальный ролик в ру-сегменте про Nextjs13

Abdul Jabar
10 months ago

Реакт это абстракция над JS, теперь есть еще и абстракция над Рекактом, доколе это будет продолжаться?
Лица тех, кто сейчас пытаеться вкатиться в разрабокту, пердставили?

Anatolii Tarasov (Tarasov.Front.Dev)
10 months ago

Очень крутое видео! Огромная благодарность вам!

Пыыф Пыыфов
10 months ago

Сильно отличается от реакта? Редакс тулкит хуки – это все есть? Или он пишется совсем по-другому ?

Ihor Soloviov
10 months ago

обожнюю ваш канал!

Artem Kamyshenkov
10 months ago

Спасибо! Ваше объяснение гораздо приятнее, чем официальная дока

Name Name
10 months ago

а что значит "наши стили" не понял этого прикола) где их брать?

Руслан Муратбеков
10 months ago

Спасибо за урок )

Aman Ibraev
10 months ago

Есть уроки с Редаксом ?

Tur True
10 months ago

По поводу расширений 30:28 – обычно это вызвано тем, что расширение передает эти дополнительные атрибуты вместе с вашим кодом, когда оно выполняется в браузере, пытаясь взаимодействовать с пользовательским интерфейсом. Это создает несоответствие между тем, что было визуализировано на сервере, и тем, что визуализировалось на клиенте.

Таким образом, причиной появления этого предупреждения являются расширения, подобные Grammarly , ColorZilla и LanguageTool , поэтому вам необходимо выяснить, какое из них это делает, а затем отключить/настроить его, чтобы оно не запускалось на портах, которые вы обычно используете для разработки. Это простое решение проблемы предупреждения , поскольку всегда рекомендуется избегать расширений в процессе разработки.

Источник stackoverflow

Dinmukhamed Amirov
10 months ago

Спасибо большое! Параллельно делал свой пет проект в Next.js. Но у меня преграда с id на страницу поста. Id = /business/2023/sep/24/fca-draws-up-tougher-rules-to-protect-women-from-workplace-abuse. Из-за этих слешов я не могу ввести апи поста. Так как next переводит его на страницу по слешам. Что делать?

Alexander Shvetsov
10 months ago

Михаил, благодарю!

Nick Nikiforuk
10 months ago

Очень достойное видео

MeR4
10 months ago

Спасибо за урок❤

Undefined souls
10 months ago

Не зміг не залишити комент. Дууже крута подача, дужі легко подаеш інформацію, контент просто обалденний ! Дуже вдячний тобі Міша !👍

Андрей Jullpic
10 months ago

Прекрасный урок. Я уже разрабатывал на Next, но это видео открыло для меня другой подход. Видимо до этого я использовал старый метод, без App routing.

ХП
10 months ago

Если я правильно понял то SSG к примеру с статьями в блоге генерирует на этапе билда много html страничек. Так вот странная штука мы вроде как наполовину с серверной частью работаем, но без полного функционала получается, т.е. если мне нужно постоянно посты добавлять, то надо заного билдить проект? Я как-то сначала воодушевился next.js,а сейчас приостыл и мне кажется, что проще уже тогда сразу на серверной части все хорошо проработать. Или может я что-то не так понял. Подскажите кто в теме, как работает SSG с новыми добавленными в готовый проект статьями?

Андраник Аршакян
10 months ago

Гениально и просто, у Вас талант объяснять людям