
Добавляем поддержку MDX к Next.js приложению
Сегодня расскажу как можно добавить базовую поддержку MDX в Next.js приложение и использовать .mdx файлы в качестве страниц.
Что такое MDX?
MDX - это синтаксис, который позволяет использовать JSX-синтаксис в markdown контенте, ну или наоборот. Подробнее можно почитать тут.
Вот простой пример MDX синтаксиса:
Описание процесса
Итак, для того чтобы добавить поддержку MDX в Next.js приложение необходимо:
- Установить необходимые пакеты;
- Создать файл mdx-components.tsx;
- Включить обработку .mdx файлов в next.config.js;
- (Опционально) Настроить IDE;
Установка необходимых пакетов
Нам понадобятся пакеты:
- @next/mdx - основной пакет, который дружит Next.js и MDX;
- @mdx-js/loader - webpack loader для MDX файлов;
- @types/mdx - необходим для нормальной работы с typescript;
Установим их следующими командами:
Создание файла mdx-components.tsx
Теперь необходимо создать файл mdx-components.tsx и положить его в src/.
Файл mdx-components.tsx необходим, для того чтобы подружить MDX и Next.js приложение использующее App Router.
Включение обработки .mdx файлов в next.config.js
Осталось только подправить конфиг (файл next.config.js) нашего приложения.
Теперь вместо page.tsx для страниц можно использовать page.mdx! 🎉
Расширение для VSCode
Бонус для тех кто использует VSCode, есть неплохое расширение для поддержки MDX синтаксиса - MDX for Visual Studio Code;
На этом всё! 🎉
Подписывайтесь на мой Youtube канал, Telegram и на сообщество Вконтакте 🙂