как в архитектуре FSD использовать next js 14 с app route?

На официальном сайте FSD прочитал, что нужно папку app вынести из nameproject/src в nameproject/...

Что должно храниться в папке nameproject/src/app ? Если страницы, которые импортируются компонентами из nameproject/page, находятся теперь получается как route в nameproject/app/...

Что хранить в src/app в nextjs 14 при app route. Понятно что в папку app в верхнем каталоге отправляем page. А что делать с src/app, куда девать провайдер стейт менеджера? Пример файла src/app

const App: React.FC = () => {
  return (
    <Provider store={store}>
      <RouterProvider router={appRouter()} />
    </Provider>
  );
};

Ответы (1 шт):

Автор решения: FollowerOfDarkness

Как я понял, делаем полную копию папки апп некста, в папке апп фсд, очищаем все файлы в папке некста и из них экспортируем все из папки фсд.

Например дефолтный файл page.tsx в папке app некста (которая должна лежать в корне проекта) у меня выглядит так:

export { Home as default } from "@/app/page";

А все дефолтное содержимое этого файла теперь лежит в папке src/app.

Тем самым вроде получается соблюсти фсд, так как весь проект настраивается теперь из фсд app папки, и next не ругается В общем в папке app проекта у тебя просто соблюдается необходимая вложенность для маршрутизации и запуска проекта, но внутри файлов просто экспортируешь по дефолту все из src/.

→ Ссылка