Nuxt Images 不转换图像

问题描述 投票:0回答:0

我正在使用 Nuxt 2 和 Nuxt Image(静态提供程序)从我的图像生成 srcset 和 WEBP 格式。我在标记中使用以下组件:

<nuxt-picture :src="srcStringVariable" alt="" sizes="medium:66vw large:46.2vw huge:40.788vw" :imgAttrs="{ loading: 'lazy' }" />

运行

nuxt generate
并查看生成的 HTML 文件后,我看到了预期的结果。 Nuxt Image 创建了图片标签并引用了不同尺寸和格式的生成文件。

<picture>
    <source type="image/webp" srcset="/_nuxt/image-0933bc.webp 828w, /_nuxt/image-e8832f.webp 300w, /_nuxt/image-a9aa4c.webp 800w" sizes="(max-width: 920px) 90vw, (max-width: 1200px) 25vw, 800px"> 
    <img src="/_nuxt/image-a8dee0.jpeg" srcset="/_nuxt/image-ed5284.jpeg 828w, /_nuxt/image-cb0218.jpeg 300w, /_nuxt/image-a8dee0.jpeg 800w" sizes="(max-width: 920px) 90vw, (max-width: 1200px) 25vw, 800px" alt="" loading="lazy">
</picture>

现在我的问题:如果我正在运行

nuxt start
并检查源代码,它在开发工具中看起来像这样:

<picture>
    <source type="image/webp" srcset="image.jpg 828w, image.jpg 300w, image.jpg 800w" sizes="(max-width: 920px) 90vw, (max-width: 1200px) 25vw, 800px">
    <img src="image.jpg" srcset="image.jpg 828w, image.jpg 300w, image.jpg 800w" sizes="(max-width: 920px) 90vw, (max-width: 1200px) 25vw, 800px" alt="" loading="lazy">
</picture>

所有来源都引用相同的原始图像。当我将其部署到 Netlify 时也会发生这种情况。这是预期的行为吗,我只是没有理解 Nuxt Image 的意义?我的设置或标记有问题吗?

我的

nuxt.config.js
文件有以下相关设置:

export default {
  target: 'static',
  ssr: true,
  buildModules: ['@nuxt/image'],
  image: {
    provider: 'static',
    staticFilename: '[publicPath]/[name]-[hash][ext]',
    screens: {
      tiny: 460,
      small: 720,
      medium: 920,
      large: 1200,
      huge: 1600,
      full: 1900,
    },
  },
}

如果有 Nuxt 经验的人可以尝试向我解释这种行为,那将非常有帮助。在我看来,Nuxt Image 的文档非常有限。

vue.js image-processing nuxt.js webp nuxtjs2
© www.soinside.com 2019 - 2024. All rights reserved.