vite svg 2 webfont
v3.4.0
一个Vite插件,该插件从您的SVG图标中生成字体,并允许您在HTML中使用图标。
vite-svg-2-webfont使用webfonts-generator软件包以任何格式创建字体。它还生成CSS文件,因此您可以使用CSS类直接在HTML中使用图标。
npm i -D vite-svg-2-webfont
yarn add -D vite-svg-2-webfont
pnpm add -D vite-svg-2-webfont
将插件添加到vite.config.ts中,并带有所需的设置,并导入虚拟模块,将图标CSS字体注入捆绑包中。
将插件添加到您的Vite Configs插件阵列中。
// vite.config.ts
import { resolve } from 'path' ;
import { defineConfig } from 'vite' ;
import viteSvgToWebfont from 'vite-svg-2-webfont' ;
export default defineConfig ( {
plugins : [
viteSvgToWebfont ( {
context : resolve ( __dirname , 'icons' ) ,
} ) ,
] ,
} ) ;将虚拟模块导入应用程序
// main.ts
import 'virtual:vite-svg-2-webfont.css' ;在模板中使用图标字体类和图标类名称中的字体。默认字体类名是.icon ,并且可以通过baseSelector配置选项来覆盖。图标类名称是从其.svg文件名派生的,并带有classPrefix的值,该值默认为icon- 。
在下面的示例中, add类将显示从文件{context}/add.svg创建的图标
< i class =" icon icon-add " > </ i > 该插件的API由一个必需的参数和多个可选参数组成,允许完全自定义插件设置。
stringsvg文件的Glog模式。 SVG文件将用于生成图标字体。string['*.svg']string'iconfont'stringpath.resolve(context, '..', 'artifacts')stringpath.join(dest, fontName + '.css')类型: string
描述:自定义CSS模板的路径。发电机使用车把模板。 Tht Template从templateOptions上接收选项以及以下选项:
string - @font-face的src属性值。object - 十六进制格式的图标的编码点。默认模板的路径存储在webfontsGenerator.templates对象中。
webfontsGenerator.templates.css - 默认的CSS模板路径。它根据options.templateOptions的值生成具有名称的类。webfontsGenerator.templates.scss - 默认SCSS模板路径。它生成Mixin webfont-icon来添加图标样式。将多个生成的文件与Mixin一起使用是安全的。请参阅WebFonts-generator#csstemplate
stringcssDeststringpath.join(dest, fontName + '.html')stringoptions.templateOptions中接收选项。TemplateOptions以及以下选项:string - 使用默认CSS模板生成的样式。 ( cssFontsPath已更改为从htmlDest到dest的相对路径)string[] - 图标的名称。booleantruebooleanfalsenumber10e12number0booleanfalsenumberbooleanfalseboolean | string | string[]true生成所有文件类型。false生成没有文件。'html' - 生成一个HTML文件'css' - 生成CSS文件'fonts' - 生成字体文件(基于请求的类型)falsestring | string[]svgttfwoffwoff2eot['eot', 'woff', 'woff2', 'ttf', 'svg']{ [key: string]: number }startCodepoint跳过重复项中增加代码点。string'icon-'string'.icon'{ [format in 'svg' | 'ttf' | 'woff2' | 'woff' | 'eot']?: unknown };string'vite-svg-2-webfont.css'booleanfalsebooleanfalse 该插件公开了可以使用卷间间通信机制在其他插件内使用的公共API。
当前可用的方法:
Array<{ type: 'svg' | 'ttf' | 'woff2' | 'woff' | 'eot', href: string }>type - 插件生成的字体格式href通往生成字体的途径