Javascript 如何禁用<;1kb SVG,由于url加载程序?

Javascript 如何禁用<;1kb SVG,由于url加载程序?,javascript,vue.js,webpack,nuxt.js,Javascript,Vue.js,Webpack,Nuxt.js,默认情况下,Nuxt使用url加载器对小于1kb的任何图像进行base64编码和内联: 以下是默认Nuxt配置的相关部分: export default { build: { extend(config, { isDev }) { config.module.rules = [ { test: /\.svg$/i, use: [{ loader: 'url-loader',

默认情况下,Nuxt使用
url加载器
对小于1kb的任何图像进行base64编码和内联:

以下是默认Nuxt配置的相关部分:

export default {
  build: {
    extend(config, { isDev }) {
      config.module.rules = [
        {
          test: /\.svg$/i,
          use: [{
            loader: 'url-loader',
            options: {
              limit: false,
              name: '[path][name].[ext]',
            },
          }],
        },
        ...config.module.rules,
      ];
    },
  },
}

我想为SVG禁用此base64内联

以下是SVG如何包含在我的模板中:

    <img
      :src="require(`@/assets/images/${src}`)"
    />
这会导致图像无法在我的开发服务器上渲染:

没有生成错误。禁用SVG内联的正确方法是什么

编辑: 由于没有得到任何响应,我最终使用了这个可怕的方法来循环遍历所有现有规则,并显式地从中删除
svg

export default {
  build: {
    extend(config, { isDev }) {
      config.module.rules = config.module.rules.map(rule => {
        if (rule.test && rule.test.toString().indexOf('svg') > -1) {
          const regex = rule.test;
          rule.test = new RegExp(regex.source.replace('|svg', ''), regex.flags);
        }
        return rule;
      });

      config.module.rules = [
        {
          test: /\.svg$/i,
          use: [{
            loader: 'url-loader',
            options: {
              limit: false,
              name: '[path][name].[ext]',
            },
          }],
        },
        ...config.module.rules,
      ];
    },
  },
}

与其扩展默认配置,不如从默认配置文件中删除svg好吗?默认配置文件在Nuxt的源代码中,所以我不这么认为。我明白了,对不起,我帮不了什么忙-考虑到上下文,您的“可怕”解决方案实际上是有意义的。希望有人能给你一个更好的答案!