Javascript Vue网页包动态导入,需要不工作

Javascript Vue网页包动态导入,需要不工作,javascript,vue.js,webpack,vue-component,vue-cli,Javascript,Vue.js,Webpack,Vue Component,Vue Cli,我正在构建一个可以播放不同声音的应用程序,我制作了一个NoiseMix组件,它将包含许多噪音组件。每个噪波都应该有自己的url参数来加载实际的mp3,但静态文件有问题 在NoiseMix中,我有以下数据: 数据:()=>{ 返回{ 听起来:[ {id:1, url:“/assets/sounds/rain.mp3”, 图标:“fas fa云雨”, 名称:“雨”, 数量:50 }, { id:2, url:“/assets/sounds/rain.mp3”, 图标:“fas fa wind”, 名

我正在构建一个可以播放不同声音的应用程序,我制作了一个NoiseMix组件,它将包含许多噪音组件。每个噪波都应该有自己的url参数来加载实际的mp3,但静态文件有问题

在NoiseMix中,我有以下数据:

数据:()=>{
返回{
听起来:[
{id:1,
url:“/assets/sounds/rain.mp3”,
图标:“fas fa云雨”,
名称:“雨”,
数量:50
}, {
id:2,
url:“/assets/sounds/rain.mp3”,
图标:“fas fa wind”,
名称:“风”,
数量:50
}, {
id:3,
url:“/assets/sounds/rain.mp3”,
图标:“fas fa water”,
名称:“波浪”,
数量:75
}
]
}
},
我的噪声分量如下所示:



ID:{{ID}}
名称:{{Name}}
声音URL:{{URL}}
卷:{{Volume}}

音频: 导出默认值{ 名称:“噪音”, 道具:{ url:String, 图标:字符串, 名称:String, 身份证号码:, 卷数:, }, 计算:{ trackUrl(){ //这条线就是问题所在 //如果我使用require('@'+this.url);应用程序根本不会加载,也不会出现错误 返回require('@'+'/assets/sounds/rain.mp3'); } } }
Webpack需要一些帮助来获取动态导入的正确路径(我怀疑问题在于单独使用别名,但我还没有对其进行足够的测试)。请尝试:

返回require('@/assets/sounds/'+this.filename)

它看起来与您拥有的基本相同,但它提供了预期的结果。

Webpack需要一些帮助,以便通过动态导入获得正确的路径(我怀疑问题在于单独使用别名,但我还没有对其进行足够的测试)。请尝试:

返回require('@/assets/sounds/'+this.filename)

它看起来与您拥有的基本相同,但它给出了预期的结果。

尝试
返回require('@/assets/sounds/'+this.filename)
,使用编辑的文件名而不是课程的完整路径。如果您使用:src=“
@{url}
”而不是计算的属性,您可以尝试
返回require吗(`@/assets/sounds/${this.url.split(“/”.pop()}`)
。Webpack中的动态导入在了解所需路径的更多信息时效果最好。Edit:刚刚意识到这正是@Dan要求您执行的操作,以尝试
返回所需('@/assets/sounds/'+this.filename)
,使用已编辑的文件名而不是课程的完整路径如果使用:src=“
@{url}
”而不是计算属性会怎么样。作为测试,请尝试
返回require(`@/assets/sounds/${this.url.split(“/”.pop()`)
。Webpack中的动态导入在了解更多所需路径时效果最佳。Edit:刚刚意识到@Dan也要求您这么做