Загрузите локальные шрифты в проект vite vue3

#css #vue.js #vuejs3 #vite

Вопрос:

В main.scss я загружаю локальные шрифты из assets/styles/fonts папки:

 @font-face {  font-family: 'Opensans-Bold';  font-style: normal;  src: local('Opensans-Bold'), url(./fonts/OpenSans-Bold.ttf) format('truetype'); } @font-face {  font-family: 'Opensans-Light';  font-style: normal;  src: local('Opensans-Light'), url(./fonts/OpenSans-Light.ttf) format('truetype'); }  

затем в vite.config я загружаю main.scss:

 css: {  preprocessorOptions: {  scss: {  additionalData: `@import "@/assets/styles/main.scss";`  }  } },  

но применяется весь css из main.scss, кроме шрифтов, я получаю ошибку:

 downloadable font: download failed (font-family: "Opensans-Bold" style:normal weight:400 stretch:100 src index:1): status=2152398850 source: http://localhost:3000/fonts/OpenSans-Bold.ttf  

Я на правильном пути или мне нужен какой-то другой подход (аналогично работает с Vue-CLI)?

Комментарии:

1. У меня та же проблема. Путь, кажется, не имеет к этому никакого отношения. В обоих случаях — @/assets , ../assets — шрифты не загружаются случайным образом при обновлении страницы. Но на производстве все кажется прекрасным. Я полагаю, что эта проблема связана с сервером разработки Vite.

Ответ №1:

Это был правильный путь, решение-это относительный путь, так что:

 src: local('Opensans-Bold'), url(@/assets/styles/fonts/OpenSans-Bold.ttf) format('truetype');