vite-plugin-fonts
Webfont loader for vite
Install
npm i --save-dev vite-plugin-fonts
Add it to vite.config.js
import { VitePluginFonts } from 'vite-plugin-fonts'
export default {
plugins: [
VitePluginFonts({
google: {
families: ['Source Sans Pro'],
},
}),
],
}
Import generated @font-rules
CSS
Only needed if using local/custom fonts
import 'virtual:fonts.css'
If using nuxt@>3
or nuxt-edge
, you can leverage the virtual file system to import the generated CSS.
import { defineNuxtConfig } from 'nuxt'
import Fonts from 'vite-plugin-fonts'
export default defineNuxtConfig({
css: [
'virtual:fonts.css',
],
vite: {
plugins: [
Fonts({ }),
],
},
})
:warning:
This will not inject Google/Typekit fonts, only custom fonts will be loaded.
Options
import { VitePluginFonts } from 'vite-plugin-fonts'
export default {
plugins: [
VitePluginFonts({
typekit: {
id: '<projectId>',
defer: true,
injectTo: 'head-prepend',
},
google: {
preconnect: false,
display: 'block',
text: 'ViteAwsom',
injectTo: 'head-prepend',
families: [
'Source Sans Pro',
{
name: 'Roboto',
styles: 'ital,wght@0,400;1,200',
defer: true,
},
],
},
custom: {
families: [{
name: 'Roboto',
local: 'Roboto',
src: './src/assets/fonts/*.ttf',
}],
display: 'auto',
preload: true,
prefetch: false,
injectTo: 'head-prepend',
},
}),
],
}
Ressources