Vercel にデプロイすると、このエラーが発生します
ビルド エラーが発生しました 14:34:33.017 エラー: 指定された images.domains は、無効な値 () を受け取った文字列の配列である必要があります。
画面にローカルで画像を表示するために、次の設定を行いました。
module.exports = {
env: {
NEXT_PUBLIC_STRAPI_URL: process.env.NEXT_PUBLIC_STRAPI_URL,
NEXT_PUBLIC_IMAGES_DOMAIN: process.env.NEXT_PUBLIC_IMAGES_DOMAIN,
},
publicRuntimeConfig: {
NEXT_PUBLIC_STRAPI_URL: process.env.NEXT_PUBLIC_STRAPI_URL,
NEXT_PUBLIC_IMAGES_DOMAIN: process.env.NEXT_PUBLIC_IMAGES_DOMAIN,
},
images: {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
imageSizes: [16, 32, 48, 64, 96],
domains: [process.env.NEXT_PUBLIC_IMAGES_DOMAIN],
path: "/_next/image",
loader: "default",
},
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
use: ["@svgr/webpack"],
});
return config;
},
};
私のenv.localにこれを入れました
NEXT_PUBLIC_STRAPI_URL= ...
NEXT_PUBLIC_IMAGES_DOMAIN=localhost
私は自分の画像を取得せずに呼び出します
const Potato = ({ assets}) => {
<Image
src={process.env.NEXT_PUBLIC_STRAPI_URL + assets.hat.svg.url}
width={assets.hat.svg.width}
height={assets.hat.svg.height}
/>
}
ローカルで画像を表示できますが、アプリをローカルで実行すると、console.log にもこのエラーが表示されます。方法や理由はわかりません。私の画像は問題なくロードされるので。これが Vercel が機能しない理由かもしれませんが、この 2 つが関連しているかどうかはわかりません。
上記のすべての設定は、このビデオからほぼ正確にコピーして貼り付けたものです (10 ~ 16 分から見てください): youtube
これまでに試したこと: Vercel の環境変数に NEXT_PUBLIC_IMAGES_DOMAIN を追加し、Heroku バックエンドの名前を値として (NEXT_PUBLIC_STRAPI_URL で行ったのと同じように)、正常にデプロイされましたが、500 サーバー エラーが発生しました。しかし、それを修正する方法もわかりません。