当我在本地开发时,当我将/public
文件夹放在/src/
中时会发现图像:
# locally
./src/public/images/
然后当我进行部署时,找不到映像。但是当我将公共文件夹放在src之外时,会发现图像:
# deploy
./public/images/
./src/
我把这些图像用作:
<img src="/images/my-image.jpg" alt="" />
有我必须使用的配置设置吗?
编辑:
完整结构:
|- .now/
| |- project.json
| └── README.txt
|- next.config.js
|- now.json
|- src/
| |- .next/
| | |- build-manifest.json
| | |- react-loadable-manifest.json
| | |- cache/
| | |- server/
| | └── static/
| |- pages/
| └── next-env.d.ts
4条答案
按热度按时间2ekbmq321#
公用文件夹必须位于根目录中。没有其他方式配置。
public内部的文件可以由代码从基URL(/)开始引用。
/public/path/image.jpg
用作/path/image.jpg
https://nextjs.org/docs/basic-features/static-file-serving
5fjcxozz2#
Next.js可以在根目录中名为public的文件夹下提供静态文件,如图像。您可以查看文档here
玩得开心点
9njqaruj3#
您可能会遇到字母大小写问题,如.png和. png。你必须在代码中使用与图像扩展大小写相同的大小写。
xwmevbvl4#
我将这些添加到
next.config.js
中:请参见https://nextjs.org/docs/pages/building-your-application/deploying/static-exports。
在Netlify环境变量中,我设置了
NETLIFY_NEXT_PLUGIN_SKIP=true
。https://docs.netlify.com/configure-builds/environment-variables/
但对我来说最重要的一步是:
不知何故,我的
.gitignore
阻止了某些图像提交到repo。因此,镜像文件存在于本地,但从未被推送到GitHub,因此从未被部署到Netlify!