Следующие JS изображений не загружаются - PullRequest
0 голосов
/ 17 июня 2020

В моем проекте root у меня есть держатель / publi c, настроенный с файлами изображений «home.jpg» и «home-placeholder.jpg».

Внутри моего / pages / index . js файл У меня есть компонент, который принимает два изображения:

function Page() {
  return (
    <>
      <Head title="Home" />
      <Home>
        <Right
          alt="home-image"
          image="./home.jpg"
          placeholder="./home-placeholder.jpg"
        />
      </Home>
    </>
  );
}

Я не могу отобразить эти изображения на моем сервере разработки, я всегда получаю: Cannot GET /home.jpg.

Я пробовал:

  • с использованием следующих изображений и импортированием изображений
  • создание и развертывание на моем рабочем сервере
  • изменение имени publi c папка в / static /

Изображения правильно загружаются по пути вывода /.next/static/images/

1 Ответ

1 голос
/ 17 июня 2020

Вы используете пользовательский Express Сервер, и вам не хватает Next app requestHandler:

import * as Routes from "~/src/routes";
import express from "express";
import next from "next";

const dev = process.env.NODE_ENV !== "production";
const port = process.env.PORT || 8000;
const app = next({ dev, quiet: false });
const handle = app.getRequestHandler(); // <----

app.prepare().then(() => {
  const server = express();

  server.get("/", async (req, res) => {
    return await Routes.signIn(req, res, app);
  });

  server.all("*", (req, res) => { // <----
    return handle(req, res);
  });

  server.listen(port, (err) => {
    if (err) throw err;
    console.log(`Server running on http://localhost:${port}`);
  });
});

Обратите внимание на это Custom Express Пример сервера от Next. js.

...