【发布时间】:2021-12-18 13:34:30
【问题描述】:
我可以将我的图像放在任何看起来的地方,而且效果很好。但是,Next.JS 似乎建议将图像放入 public 文件夹。这里有什么优势?
【问题讨论】:
标签: javascript reactjs next.js vercel static-files
我可以将我的图像放在任何看起来的地方,而且效果很好。但是,Next.JS 似乎建议将图像放入 public 文件夹。这里有什么优势?
【问题讨论】:
标签: javascript reactjs next.js vercel static-files
如果您的静态文件位于 public 文件夹中,则将它们导入其他位置会更容易。您的代码可以从基本 URL (/) 开始引用 public 中的文件。
例如,如果您将图像添加到public/me.png,则以下代码将访问该图像:
import Image from 'next/image'
function Avatar() {
return <Image src="/me.png" alt="me" width="64" height="64" />
}
export default Avatar
更多信息可以在这里找到:https://nextjs.org/docs/basic-features/static-file-serving
【讨论】:
public 中的文件也可以从基本 URL 访问。就像您只想查看特定的静态文件一样,可能是位于 public 文件夹下的 me.png,您可以转到 mywebsite.com/me.png。这就是为什么public 文件夹对于robots.txt、favicon.ico 文件很有用。您还可以将.html 文件放入其中。除此之外,没有任何优势。
/public 与不同的目录名称相比并没有特别的优势 - 这只是 Next.js 选择的约定。