SVG加载vue-svg-loader; [Vue警告]:无效的组件定义

Lon*_*ely 4 javascript svg webpack vue.js vuejs2

如果我想vue-svg-loader在现有的vue-cli应用程序中使用,则会收到错误消息

[Vue warn]: Invalid Component definition: /img/logout.b0c3dfb7.svg
Run Code Online (Sandbox Code Playgroud)

以下步骤已完成:

1)安装vue-svg-loader为devDependency

2)在vue.config.js(根目录)中添加Webpack Config :

module.exports = {
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.svg$/,
          loader: 'vue-svg-loader', 
        },
      ],
    }      
  }
};
Run Code Online (Sandbox Code Playgroud)

3)导入SVG并作为组件注入

import Logout from '@/assets/img/icons/logout.svg';

export default {
    components: {
      Logout,
    },
...
}
Run Code Online (Sandbox Code Playgroud)

4)在模板中使用它(称为UI框架)

<v-btn icon @click="logout()">
    <Logout class="icon" />
</v-btn>
Run Code Online (Sandbox Code Playgroud)

3个问题:

  1. 我怎么了
  2. 我如何/在哪里/应该添加新的Webpack设置
  3. 或修改/覆盖/删除现有的

在vue-cli(V3)项目中?

Lon*_*ely 5

将以下内容添加到vue.config.js

module.exports = {
  chainWebpack: config => {
    config.module.rules.delete("svg");
  },
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.svg$/, 
          loader: 'vue-svg-loader', 
        },
      ],
    }      
  }
};
Run Code Online (Sandbox Code Playgroud)