Следующие изображения JS после следующей сборки дают 404 изображения

Структура URL по умолчанию: http: // localhost:5000 / _next / image? Url="someURL".

Я хочу, чтобы URL-адрес был похож на http: // localhost:5000 / demo / _next / image? Url="someURL".

что может быть достигнуто

      // next.config.js
     images: {
            domains: ['example.domain.com'],
            path: `/demo/_next/image`
        },

В этом случае _next / image, на который указывает каталог, не может быть найден.

После этого все изображения дают 404. Мне нужно решение этой проблемы в следующих js.

1 ответ

Вы пытались создать промежуточное программное обеспечение, чтобы переписать эти маршруты в правильное место?

Что-то типа: pages/_middleware.tsс содержанием:

      import { NextRequest, NextResponse } from 'next/server';

export function middleware(req: NextRequest): NextResponse {
  if (req.nextUrl.href.includes('/demo/_next/image'))
    return NextResponse.rewrite(
      req.nextUrl.href.replace('/demo/_next/image', '/_next/image'),
    );

  return null;
}
Другие вопросы по тегам