快速开始
安装
前置条件
运行以下命令安装,并且确保你的工作区配置正确:
sh
pnpm add -D vite-plugin-svg-icons-ng
sh
npm i -D vite-plugin-svg-icons-ng
sh
yarn add -D vite-plugin-svg-icons-ng
Usage
在vite.config.ts
/vite.config.js
中导入并配置插件
ts
// ...
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons-ng'
import path from 'node:path'
export default defineConfig({
plugins: [
// ...
createSvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), 'src/icons')],
}),
],
})
js
// ...
import path from 'node:path'
export default defineConfig({
plugins: [
// ...
createSvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), 'src/icons')],
}),
],
})
接着,在main.ts
/main.js
导入虚拟模块virtual:svg-icons/register
ts
import 'virtual:svg-icons/register' // recommended
import 'virtual:svg-icons-register' // deprecated
js
import 'virtual:svg-icons/register' // recommended
import 'virtual:svg-icons-register' // deprecated
WARN
虚拟模块 virtual:svg-icons-register
将在未来的版本中废弃。因为它不符合虚拟模块命名空间规范。
使用 import 'virtual:svg-icons/register'
代替。
至此,svg精灵已经生成,可以通过 组件使用。
或者,直接在HTML中使用:
html
<svg>
<use xlink:href="#icon-icon1"></use>
</svg>
获取SymbolId
可以通过virtual:svg-icons/ids
获取所有SymbolId的数组
ts
import ids from 'virtual:svg-icons/ids' // recommended
import ids from 'virtual:svg-icons-names' //deprecated
console.log(ids) // ['icon-icon1','icon-icon2','icon-icon3']
WARN
虚拟模块 virtual:svg-icons-names
将在未来的版本中废弃。因为它不符合虚拟模块命名空间规范。
使用 import ids from 'virtual:svg-icons/ids'
代替。