Javascript Vue.js错误“;找不到模块'/未定义'&引用;使用src=require()时从网页

Javascript Vue.js错误“;找不到模块'/未定义'&引用;使用src=require()时从网页,javascript,image,vue.js,webpack,vue-cli,Javascript,Image,Vue.js,Webpack,Vue Cli,我试图使用img标记中的src=”“从本地文件夹加载图像,但我想使用后端加载它们。前端已经有了相对路径,即“./assets/imgs/”后端只有名称和扩展名ex)“1.png”。问题是它确实有效,但我收到了错误消息 这给我带来了麻烦 <img width=100px height=100px :src="getIconPath(`${user.icon}`)"/> 下面是我在控制台上收到的两条错误消息 [Vue warn]: Error in render: "Error: Ca

我试图使用img标记中的src=”“从本地文件夹加载图像,但我想使用后端加载它们。前端已经有了相对路径,即“./assets/imgs/”后端只有名称和扩展名ex)“1.png”。问题是它确实有效,但我收到了错误消息

这给我带来了麻烦

<img width=100px height=100px :src="getIconPath(`${user.icon}`)"/>
下面是我在控制台上收到的两条错误消息

[Vue warn]: Error in render: "Error: Cannot find module './undefined'"
found in
---> <Profile> at src/components/profile.vue
       <Navbar> at src/components/navbar.vue
         <Main> at src/main.vue
           <Root> vue.runtime.esm.js:619
Error: "Cannot find module './undefined'"
    webpackContextResolve .*$:13
    webpackContext .*$:8
    getIconPath profile.vue:74
    render profile.vue:12
    VueJS 43
    <anonymous> main.js:31
    js app.js:1415
    __webpack_require__ app.js:785
    fn app.js:151
    1 app.js:1488
    __webpack_require__ app.js:785
    checkDeferredModules app.js:46
    <anonymous> app.js:861
    <anonymous>
[Vue warn]:呈现中出错:“错误:找不到模块。/未定义”
发现于
--->在src/components/profile.vue
在src/components/navbar.vue处
在src/main.vue处
vue.runtime.esm.js:619
错误:“找不到模块”“/undefined”“”
webpackContextResolve.*$:13
webpackContext.*$:8
getIconPath配置文件。vue:74
渲染配置文件。vue:12
VueJS 43


我将非常感谢你的帮助!!我已经在这件事上纠缠了好几个小时,似乎找不到一个有用的解决办法。如果这不是一个从后端加载图像的好方法,请随意建议其他方法。谢谢大家!

我想在这里猜测一下,
user
是异步填充数据的。我敢打赌,您的初始数据或存储中有类似的内容

{
用户:{}
}
这里的问题是
user.icon
未定义的
,至少在一段时间内是这样。不必要地将其转换为字符串

getIconPath(`${user.icon}`)
undefined
转换为字符串
“undefined”
(因为JavaScript很有趣),因此会显示错误消息。简单的解决方案是使用字符串模板,即

getIconPath(user.icon)

为了避免此类问题,我将使用computed属性来解析图像导入。这比在模板中执行每次勾选都会发生的方法更有效

计算:{
userWithIcon(){
返回{
…这个用户,
icon:this.user.icon&&require(`../assets/imgs/${this.user.icon}`)
}
}
}
在你的模板中



请不要将代码放在评论部分。还请提供所有相关信息,例如
用户
(或它是
图像
)数据的来源以及它的数据格式。谢谢,抱歉,这是我的第一次!我编辑了我的帖子,希望这更有意义。
user
来自哪里?它是异步加载的吗?如果是,它的初始数据是什么样子的(在加载之前)?用户来自我的商店。我这样命名的。老实说,我不知道它是否异步加载。我正在使用axios连接到我的api,不知道这是否有用。实际上,正如您所提到的,我将其更改为
getIconPath(user.icon)
,并且正在加载,没有任何错误消息!我刚刚把它写在下面作为一个答案啊,这现在很有意义!!!非常感谢。非常地有什么办法可以提高你的声誉吗?我很感激D@VictorDanielCampa不客气,你接受了我的回答,你已经给了我那些很好的声誉分数
[Vue warn]: Error in render: "Error: Cannot find module './undefined'"
found in
---> <Profile> at src/components/profile.vue
       <Navbar> at src/components/navbar.vue
         <Main> at src/main.vue
           <Root> vue.runtime.esm.js:619
Error: "Cannot find module './undefined'"
    webpackContextResolve .*$:13
    webpackContext .*$:8
    getIconPath profile.vue:74
    render profile.vue:12
    VueJS 43
    <anonymous> main.js:31
    js app.js:1415
    __webpack_require__ app.js:785
    fn app.js:151
    1 app.js:1488
    __webpack_require__ app.js:785
    checkDeferredModules app.js:46
    <anonymous> app.js:861
    <anonymous>