【发布时间】:2016-05-02 22:41:48
【问题描述】:
在我的一个组件中,我正在尝试加载 svg 图像,但 vuejs/webpack 失败。
这是我的代码:
<template>
<img src="../../assets/public/images/sad.svg" />
</template>
<script>
export default {}
</script>
还有错误:
./src/assets/public/images/sad.svg 中的错误
模块解析失败: /home/cabox/workspace/src/assets/public/images/sad.svg 第 1 行: 意外的令牌 |
|
| @ ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/tooltip.vue 1:205-258 1:592-645
据我了解,Vuejs(或 Webpack)试图解释 .svg 的内容。而这不是我想要的。
这是我的 svg 的 webpack 配置:
{ test: "\.svg", loader: "file-loader?mimetype=image/svg+xml" },
感谢您的帮助。
【问题讨论】:
-
可以在浏览器中打开文件吗?我会说这是一个 Webpack 问题,而不是 VueJS。
-
是的,可以加载文件。而且它也是正确的路径,因为错误消息包含文件的开头。
-
您可以尝试使用
svg-loader而不是file-loader。 -
我满怀希望地尝试了 svg-loader。编译工作,但是在加载页面时,我有这个新错误:
Unexpected token < You may need an appropriate loader to handle this file type. -
在我看来,svg-loader适用于webpack,但是当vuejs尝试编译src="..."时,它没有考虑svg-loader的规则,然后就失败了。但我的知识只到这里。
标签: javascript webpack vue.js