Nuxt Svgo 加载器
Nuxt 模块,用于使用 SVGO 优化 SVG 文件并将其加载为 Vue 组件。
特性
- 📁 将 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`
}
})
!注意 由于
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 文件。