【发布时间】:2023-01-24 16:01:42
【问题描述】:
在 Nuxt 文档中,他们给出了以下用于动态图像加载的代码示例。
<img :src="require(`~/assets/img/${image}.jpg`)" />
但是,当我使用它时,我在浏览器控制台中收到以下错误“要求未定义“
【问题讨论】:
在 Nuxt 文档中,他们给出了以下用于动态图像加载的代码示例。
<img :src="require(`~/assets/img/${image}.jpg`)" />
但是,当我使用它时,我在浏览器控制台中收到以下错误“要求未定义“
【问题讨论】:
回答我的问题,因为它花了我一整天的搜索......
显然'require()' 仅适用于 Webpack,不适用于 Vite.
由于 Nuxt3 默认与 Vite 一起提供,因此它不适用于我。
因此,有 2 个选项可以解决此问题:
从 Vite 更改为 Webpack。
使用下面的代码而不是 Nuxt 文档中描述的代码来导入动态图像。
// in HTML
<img :src="getImageUrl()"/>
// in script
function getImageUrl(name) {
return new URL(`./dir/${name}.png`, import.meta.url).href
}
有用的资源:
【讨论】: