【问题标题】:Nuxt generate img with final random hashNuxt 生成带有最终随机哈希的 img
【发布时间】:2021-09-15 11:03:35
【问题描述】:

我有两个运行问题

npm run generate

第一个问题:[已解决]

我在 dist 文件夹中有两个重复的 img 文件夹:

一个在:

 dist/img 

另一个在里面

dist/_nuxt/img

在 dist/img 文件夹中维护子文件夹,在 dist/_nuxt/img 中没有。

所有站点 img src 都指向 dist/_nuxt/img 但我想使用 dist/img/../ 文件夹。

[解决方案] 从 src 中删除 @/asset

第二个问题: (尚未解决)

也许可以解决,解决第一个问题,所有图片都用一个最终的哈希重命名,我不喜欢这样,例如:

imganame.2354ur2bur2.jpg

我该如何解决这个问题?

【问题讨论】:

  • 为什么要关心构建后的镜像名称?
  • 嗯,我不知道,所有的IMG名称都是面向SEO的,我真的不知道最终hash的影响
  • 对文件名、alt 属性或任何 a11y 属性没有影响。否则,每个人都已经被搞砸了。
  • 是的,但是现在我需要检查一下,我怕每次生成hash change..而这会导致404
  • 你真的不需要为此烦恼。哈希在这里本质上是出于缓存目的,以使资产无效并要求重新获取资产。剩下的工作由 Webpack 完成。

标签: webpack nuxt.js


【解决方案1】:

首先,让我们快速总结一下您的问题:当您引用这样的图像时:

<img src="~/assets/your_image.png" />

会被翻译成

<img src="/_nuxt/img/your_image.0c61159.png" />

在构建过程之后使用nuxt generate

这是Webpack Assets 的默认行为。它解析引用,使用版本哈希重命名文件以获得更好的缓存,并将文件复制并粘贴到指定位置,在本例中为 /_nuxt/img

如果这不是您想要的功能,只需将您的图片放在static/ 下,然后您可以像这样引用它们:

<img src="/path/to/your_image.png" />

当路径不包含@~时,Webpack不会接触到路径和数据本身。

否则,您可以使用 build.extend 配置 Webpack,这样它就不会使用哈希重命名文件。不过这种做法是not recommended

【讨论】:

  • 在项目中 IMG 文件夹位于静态文件夹内,但如果我调用 SRC,包括资产 prerenderig 编译 olso 所有图像添加最终哈希,但如果我直接使用 SRC=/IMG/IMG 调用图像.jpg(而不是 src=~/static/IMG/img.jpg)prerender 给 IMG 文件夹提供了未修改的图像名称和 olso 在页面中调用没有 _nuxt 文件夹...很奇怪
  • 请检查我编辑的答案:)
猜你喜欢
  • 2011-08-17
  • 2018-12-10
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2012-03-13
相关资源
最近更新 更多