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通往生成字體的途徑