webpack - Nuxt 生成带有最终随机哈希的 img
问题描述
我有两个运行问题
npm run generate
第一个问题:[已解决]
我在 dist 文件夹中有两个重复的 img 文件夹:
一个在:
dist/img
另一个在
dist/_nuxt/img
在 dist/img 文件夹中,子文件夹被维护,在 dist/_nuxt/img 中没有。
所有站点 img src 都指向 dist/_nuxt/img 但我想使用 dist/img/../ 文件夹。
[解决方案]从 src <img src="@/static/img/ => <img src="/img/ 中删除 @/asset
第二个问题:( 尚未解决)
也许可以解决,解决第一个问题,所有图像都用最终哈希重命名,我不喜欢它,例如:
imganame.2354ur2bur2.jpg
我该如何解决这个问题?
解决方案
首先,让我们快速总结一下您的问题:当您引用这样的图像时:
<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" />
当路径不包含@
or~
时,Webpack 不会触及路径和数据本身。
否则,您可以配置 Webpack 使用build.extend
,这样它就不会使用哈希重命名文件。但是,不推荐这种方法。
推荐阅读
- javascript - 输入设置为选中时使用javascript添加CSS元素
- php - 使用ajax发布的数组丢失记录
- azure - Azure 存储:如何避免 Blob 级 SAS 令牌的时钟偏差问题
- android - 为什么fragment-ktx而不是viewmodel-ktx库中提供了Android viewModels()扩展函数?
- reactjs - 反应:道具没有传递给孩子
- vscode-remote - 我可以在 Docker 环境中使用远程容器扩展保持 vscode 终端连接到主机吗?
- dialogflow-es - 对 Google 推送通知用户 ID 的操作
- javascript - HTML, Javascript, Node, Fetch get, "Uncaught (in promise) TypeError: Failed to fetch"
- r - 用R中的空格替换值
- python - 如何在嵌入消息中提及不和谐频道