Nuxt Svgo Loader
SVGOを使用して最適化し、SVGファイルをVueコンポーネントとしてロードするNuxtモジュール。
機能
- 📁 SVGファイルをVueコンポーネントとしてロードします。
- 🎨 SVGOを使用してSVGを最適化します。
- 🛠️ Nuxt DevToolsとのシームレスな統合。
インストール
nuxt-svgo-loaderをインストールしてnuxt.configに追加します。
npx nuxi@latest module add nuxt-svgo-loader
export default defineNuxtConfig({
modules: ['nuxt-svgo-loader'],
svgoLoader: {
// Options here will be passed to `vite-svg-loader`
}
})
!NOTE
nuxt-svgo-loader
はvite-svg-loader
に基づいたNuxtモジュールであるため、svgoLoader
の設定はvite-svg-loader
の設定と同一です。利用可能なオプションについては、vite-svg-loader
のドキュメントをこちらで参照できます。
使い方
コンポーネント
SVGは、?component
サフィックスを使用してVueコンポーネントとして明示的にインポートできます
import NuxtSvg from '~/assets/svg/nuxt.svg'
// <NuxtSvg />
URL
SVGは、?url
サフィックスを使用してURLとしてインポートできます
import nuxtSvgUrl from '~/assets/svg/nuxt.svg?url'
// nuxtSvgUrl === '/_nuxt/assets/svg/nuxt.svg'
Raw
SVGは、?raw
サフィックスを使用して生の文字列としてインポートできます
import nuxtSvgRaw from '~/assets/svg/nuxt.svg?raw'
// nuxtSvgRaw === '<svg xmlns="http://www.w3.org/2000/svg" ...'
単一ファイルでのSVGOのスキップ
SVGOは、?skipsvgo
サフィックスを追加することで、1つのファイルに対して明示的に無効にできます
import NuxtSvgWithoutOptimizer from '~/assets/svg/nuxt.svg?skipsvgo'
// <NuxtSvgWithoutOptimizer />
DevTools
このモジュールは、Nuxt DevToolsに新しいタブを追加し、SVGファイルを検査できます。