Next.js 应用中如何使用图片资源?

阅读时长 4 分钟读完

前言

在前端应用中,图片资源是必不可少的一部分,然而在 Next.js 应用中使用图片资源相较于其他前端框架而言,存在着一些不同点。本文将重点讲解在 Next.js 应用中如何使用图片资源。

Next.js 中图片资源的引入方式

在 Next.js 中,可以通过如下两种方式来引入图片资源:

1. 静态文件

在 Next.js 应用中,经常会使用到静态文件,像是图片、CSS 或 JavaScript 等等。默认情况下,Next.js 将在 public 文件夹下寻找任何静态资源。因此,若想让图片资源可用于 Next.js 应用,则可以在 public 文件夹下创建一个名为 img 的文件夹,例如:

然后在 Next.js 应用中引用这些静态资源时,只需在标签中直接引用即可:

2. 模块文件

除了使用静态文件外,Next.js 还支持通过模块文件来引入图片资源。假设已将图片资源存放在 assets 文件夹下,则在组件中通过如下方式进行引入:

-- -------------------- ---- -------
------ ----- ---- ------------
------ ------ ---- ---------------------

-------- ------------- -
  ------ -
    -----
      ------ ------------ ---------- -- --
    ------
  -
-

------ ------- -----------

通过上述代码,image1 就可以作为一个在 Next.js 应用中可用的模块文件了。

图片资源的最佳实践

在使用图片资源时,我们还需要注意一些最佳实践,以提高 Next.js 应用的性能,并确保图片资源的正确性,具体如下:

1. 指定 widthheight

在引用图片资源时,应该始终指定 widthheight 属性。这是因为如果没有设置这两个属性,页面首次加载时,图片将被展示成一个未指定大小的占位符,直到整个图片完全加载完毕。这样就会对用户体验产生不良影响。

2. 使用 next/image

为了更好地优化图片资源的性能,我们可以使用 next/image 组件来将其引入,并根据需要指定 widthheight 参数,这将强制 Next.js 生成多张不同大小的图片,以供不同的 viewport 使用,从而提高渲染速度,并减少页面占用带宽。

例如,下面是一个使用 next/image 的示例:

-- -------------------- ---- -------
------ ----- ---- ------------

-------- ------------- -
  ------ -
    -----
      ------
        ---------------------
        ---------- --
        -----------
        ------------
      --
    ------
  -
-

------ ------- -----------

3. 路径的正确性

当引入图片资源时,需确保所有图片的路径都是正确的。在 Next.js 应用中,可用相对路径或绝对路径来引入图片,但是相对路径可能会导致一些错误,因此应该尽可能使用绝对路径。

例如:

4. 图片格式的选择

在选择图片格式时,应该根据实际需要选择最优的图片格式来减少文件大小。通常情况下,可以使用 webp 等现代格式来代替传统格式,从而更好地优化图片资源的性能。

总结

图片资源是前端应用中的重要组成部分,如果不恰当地使用它们,就会对应用的性能和用户体验产生不良影响。在 Next.js 应用中,使用静态文件和模块文件引入图片是最常见的方式,并且我们也需要注意一些最佳实践,包括指定 widthheight、使用 next/image、正确的路径和格式选择等等。通过了解和应用这些知识,我们可以更好地实现 Next.js 应用中的图片资源管理和性能优化。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646725ce968c7c53b078b4bd

纠错
反馈