【发布时间】:2021-05-31 07:39:34
【问题描述】:
我有一个要部署到 Heroku 的 Next.js 应用程序。当我在本地开发时,我看到了图像,但是当我推送到 Heroku 并检查站点时,图像有 404。我有一个公用文件夹,其中我的文件夹中有图像(.png),以及我引用的代码像这样的图片
<Image
src="/wb_blue_white.png"
alt="WB Concept"
width="70"
height="70"
className={navStyles.logo}
/>
本地和产品中,如果我查看图像源,它们是相同的src="/_next/image?url=%2Fwb_blue_white.png&w=256&q=75",但我在产品中得到 404。什么可能导致图像显示在 localhost 但在 Heroku prod build 中不显示?
package.json
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start -p $PORT"
},
文件结构
components
pages
public
【问题讨论】:
-
你是如何部署到heroku的?也许服务器阻止了该流量?
-
@Hiro 通过 cli。我在该公用文件夹中也有一个正在工作的网站图标。只是 .png 图像不是
-
你用了什么buildpack?可能自动检测为节点应用程序?那么似乎 nextjs 使用内置(?)快速服务器来提供内容。在那种情况下,是否配置了快速静态服务?像这样:github.com/vercel/next.js/discussions/14121
-
@Hiro 我在想是这样的。我使用可能使用内置快速服务器的 create-next-app 创建了项目?我不确定。非常新的下一个尝试学习它,因为我继续。所以不确定我会在哪里添加引用以使用 path.join。我认为接下来会在您构建项目时生成服务器文件。
-
在下面添加了一些(有点)具体的说明。
标签: javascript heroku next.js nextjs-image