我正在处理一个组件,以便按名称从文件夹中呈现图标。这是我的组件文件:
<template>
<div>
<img :src="path">
</div>
</template>
<script>
export default {
name: 'ballicon',
computed: {
path () {
return require(`./svg/${this.name}.svg`)
}
},
props: {
name: {
type: String,
required: true
}
}
}
</script>
我的file-loader
的Webpack配置中有一个条目:
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
use: {
loader: 'file-loader',
options: {
name: '[name].[hash:7].[ext]',
publicPath: '../../',
outputPath: utils.assetsPath('img/') // = static/img
}
}
}
渲染我的组件时,它会正确插入名称,哈希和扩展名:
<div>
<img src="../../static/img/airplane.f6d83ef.svg">
</div>
但是,没有文件被复制到/static/img
目录,因此无法加载图像。