,

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
Федор
1 year ago

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

Aleksandr Zelenskiy
1 year ago

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

Олег Сергеевич
1 year ago

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

Abdul Jabar
1 year ago

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

Anatolii Tarasov (Tarasov.Front.Dev)
1 year ago

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

Пыыф Пыыфов
1 year ago

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

Ihor Soloviov
1 year ago

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

Artem Kamyshenkov
1 year ago

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

Name Name
1 year ago

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

Руслан Муратбеков
1 year ago

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

Aman Ibraev
1 year ago

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

Tur True
1 year ago

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

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

Источник stackoverflow

Dinmukhamed Amirov
1 year ago

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

Alexander Shvetsov
1 year ago

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

Nick Nikiforuk
1 year ago

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

MeR4
1 year ago

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

Undefined souls
1 year ago

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

Андрей Jullpic
1 year ago

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

ХП
1 year ago

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

Андраник Аршакян
1 year ago

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