透過 100+ 個技巧學習 Nuxt!

nuxt-svgo-loader

Nuxt 模組,用於將 SVG 檔案載入為 Vue 元件,並使用 SVGO 進行最佳化。

Nuxt Svgo Loader

npm versionnpm downloadsLicenseNuxt

Nuxt 模組,用於將 SVG 檔案載入為 Vue 元件,並使用 SVGO 進行最佳化。

特色

  • 📁 將 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 的文件以獲取可用的選項,請點擊此處

用法

元件

可以使用 ?component 後綴將 SVG 顯式匯入為 Vue 元件

import NuxtSvg from '~/assets/svg/nuxt.svg'
// <NuxtSvg />

URL

可以使用 ?url 後綴將 SVG 匯入為 URL

import nuxtSvgUrl from '~/assets/svg/nuxt.svg?url'
// nuxtSvgUrl === '/_nuxt/assets/svg/nuxt.svg'

原始

可以使用 ?raw 後綴將 SVG 匯入為原始字串

import nuxtSvgRaw from '~/assets/svg/nuxt.svg?raw'
// nuxtSvgRaw === '<svg xmlns="http://www.w3.org/2000/svg" ...'

為單個檔案跳過 SVGO

可以通過添加 ?skipsvgo 後綴,顯式地為單個檔案禁用 SVGO

import NuxtSvgWithoutOptimizer from '~/assets/svg/nuxt.svg?skipsvgo'
// <NuxtSvgWithoutOptimizer />

DevTools

此模組為 Nuxt DevTools 添加了一個新分頁,您可以在其中檢查 SVG 檔案。

許可證

MIT 許可證 © 2023-PRESENT Alex Liu