我有一个vue js ui组件,它是在内部使用webpack构建的。 这个可重用的ui组件库对其映像的引用如下:
<img src="./assets/logo.png"/>
<img src="./assets/edit-icon.svg"/>
 ;
<img src="./assets/delete-icon.svg"/>
当我将该组件构建为库时,dist文件夹中的映像位于dist->; IMG。 当我在主应用程序中使用npm安装时,该组件无法呈现图像,因为它们所引用的路径是相对于主应用程序的。
<img data-v-ad50538c="" src="http://localhost:8080/js/img/delete-icon.92d078a1.svg">
我申请了下面的修复暂时修复的问题,它工作的svg文件,但我也有其他文件png,JPG。 等
module.exports = {
chainWebpack: config => {
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.test(/\.svg$/)
.use('svg-url-loader')
.loader('svg-url-loader')
}
};
我不确定如何得到这一固定的所有文件,我可能有在资产文件夹。 我有一堆ui库组件,它们使用了很多资产。
您的问题是您使用的是相对路径。 一个简单的转义是将前缀的.
替换为@
。 而不是相对路径。 VUE/WebPack应该做剩下的工作。
// replace
<img src="./assets/logo.png"/>
//with
<img src="@/assets/logo.png"/>