ปลั๊กอิน VITE ที่สร้างแบบอักษรจากไอคอน SVG ของคุณและช่วยให้คุณใช้ไอคอนใน HTML ของคุณ
vite-svg-2-webfont ใช้แพ็คเกจ webfonts-generator เพื่อสร้างแบบอักษรในรูปแบบใด ๆ นอกจากนี้ยังสร้างไฟล์ CSS เพื่อให้คุณสามารถใช้ไอคอนของคุณโดยตรงใน HTML ของคุณโดยใช้คลาส CSS
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 Font ไปยังมัด
เพิ่มปลั๊กอินลงในอาร์เรย์ปลั๊กอิน 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' ; ใช้แบบอักษรในเทมเพลตที่มีคลาสแบบอักษรไอคอนและชื่อคลาสไอคอน ชื่อคลาส FONT เริ่มต้นคือ .icon และสามารถเอาชนะได้โดยผ่านตัวเลือกการกำหนดค่า baseSelector ชื่อคลาสไอคอนมาจากชื่อไฟล์ .svg ของพวกเขาและนำหน้าด้วยค่าของ classPrefix ซึ่งเริ่มต้นเป็น icon- -
ในตัวอย่างด้านล่างคลาส add จะแสดงไอคอนที่สร้างจากไฟล์ {context}/add.svg
< i class =" icon icon-add " > </ i > ปลั๊กอินมี API ที่ประกอบด้วยพารามิเตอร์ที่ต้องการเพียงหนึ่งตัวและพารามิเตอร์เสริมหลายตัวช่วยให้สามารถปรับแต่งปลั๊กอินได้อย่างสมบูรณ์
stringsvg จะดำเนินการ ไฟล์ SVG จะถูกใช้เพื่อสร้างแบบอักษรไอคอนstring['*.svg']string'iconfont' เริ่มต้นstringpath.resolve(context, '..', 'artifacts')stringpath.join(dest, fontName + '.css') ประเภท : string
คำอธิบาย : เส้นทางของเทมเพลต CSS ที่กำหนดเอง เครื่องกำเนิดไฟฟ้าใช้เทมเพลตแฮนด์บาร์ เทมเพลต THT ได้รับตัวเลือกจาก templateOptions พร้อมกับตัวเลือกต่อไปนี้:
string SRC-ค่าของคุณสมบัติ src สำหรับ @font-faceobject CodePoints - CodePoints ของไอคอนในรูปแบบ hex เส้นทางของเทมเพลตเริ่มต้นจะถูกเก็บไว้ในวัตถุ webfontsGenerator.templates
webfontsGenerator.templates.css - เส้นทางเทมเพลต CSS เริ่มต้น มันสร้างคลาสที่มีชื่อตามค่าจาก options.templateOptionswebfontsGenerator.templates.scss - เส้นทางเทมเพลต SCSS เริ่มต้น มันสร้าง Mixin webfont-icon เพื่อเพิ่มสไตล์ไอคอน ปลอดภัยที่จะใช้ไฟล์หลายไฟล์ที่สร้างขึ้นพร้อมกับ Mixins ด้วยกันดู webfonts-generator#csstemplate
stringcssDest เริ่มต้นstringpath.join(dest, fontName + '.html')stringoptions.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 - เส้นทางไปสู่ตัวอักษรที่สร้างขึ้น