jpkleemans / vite-svg-loader

Vite plugin to load SVG files as Vue components
MIT License
555 stars 59 forks source link

svgoConfig.plugins removeViewBox error (Nuxt 3) #71

Closed engenes closed 1 year ago

engenes commented 1 year ago

When I add plugins: { removeViewBox: false } to svgoConfig option, I get an error.

[nitro] [dev] [unhandledRejection] [[vite-node] [VITE_ERROR] /assets/images/icons/left-arrow.svg
at /assets/images/icons/left-arrow.svg ] {
  statusCode: 500,
  fatal: false,
  unhandled: false,
  statusMessage: 'Vite Error',
  __nuxt_error: true
}

nuxt.config.ts

import type { NuxtConfig } from 'nuxt/config';
import svgLoader from 'vite-svg-loader';

const config: NuxtConfig = {
  vite: {
    plugins: [
      svgLoader({
        svgoConfig: {
          plugins: { removeViewBox: false },
        },
      }),
    ],
  },
};

export default defineNuxtConfig(config);
engenes commented 1 year ago

solution

https://github.com/jpkleemans/vite-svg-loader/issues/56#issuecomment-1232979609

const config: NuxtConfig = {
  vite: {
    plugins: [
      svgLoader({
        svgoConfig: {
          plugins: [
            {
              name: 'preset-default',
              params: {
                overrides: {
                  removeViewBox: false,
                },
              },
            },
          ],
        },
      }),
    ],
  },
};

export default defineNuxtConfig(config);