Skip to content

静态资源

在 Next.js 中处理静态资源非常直观和简单。你可以通过将静态文件放置在 public 目录下来使用它们。Next.js 会自动从这个目录提供文件,并且你可以通过相对于根路径的 URL 来引用这些文件。

使用 public 文件夹

  1. 创建 public 文件夹:如果你的项目中还没有 public 文件夹,请在项目的根目录下创建一个。Next.js 会自动从这里提供文件。

  2. 添加静态资源:将你的静态资源(如图片、字体、图标等)放入 public 文件夹中。例如,如果你想添加一张图片,可以将其放在 public/images/example.jpg

  3. 引用静态资源:要引用 public 文件夹中的资源,你可以直接使用相对于根路径的 URL。不需要包含 /public/ 前缀,因为 Next.js 会自动从该目录提供文件。

示例代码

假设你在 public/images/example.jpg 存放了一张图片,你可以在你的组件中这样引用它:

jsx
function MyImage() {
  return <img src="/images/example.jpg" alt="描述" />;
}

export default MyImage;

注意这里的路径以 / 开始,指向 public 目录下的相对路径。

处理其他类型的静态资源

除了图片,你还可以在 public 文件夹中存放其他类型的静态资源,比如 CSS 文件、JavaScript 文件、字体文件等,并以相同的方式引用它们。

例如,如果你有一个位于 public/styles/style.css 的样式表,你可以在 _app.js 或者特定页面中通过以下方式引入:

javascript
import "../styles/style.css";

对于字体文件或图标库,如果它们依赖于具体的路径,同样只需确保这些资源位于 public 文件夹内,并相应地调整引用路径即可。

注意事项

  • 所有放置在 public 目录下的文件都会被直接提供给客户端,因此请谨慎管理这里的文件,避免暴露敏感信息。
  • 虽然 public 目录非常适合托管静态资源,但对于应用的核心部分(如页面、组件等),应遵循 Next.js 的常规结构进行组织。
  • 如果你需要对静态资源进行优化(如图像优化),Next.js 提供了内置支持,例如 <Image /> 组件可以用来优化图片加载性能。

通过这种方式,你可以轻松地管理和引用项目中的静态资源,同时利用 Next.js 提供的强大功能来优化你的网站或应用的表现。

Released under the MIT License.