[英]How to add font in Vue.js project
我有一個 Laravel 和 Vue.js 的項目,我使用 scss。 我想在我的項目中添加新字體,但我做不到。 我創建文件 fonts.scss,創建一個帶有字體的變量
@font-face {
font-family: "Proxima Nova Bold";
src: url(/Proxima-Nova-Bold.otf);
}
$proxima-nova-bold: 'Proxima Nova Bold', sans-serif;
我有控制台錯誤GET http://local.{my-domain}/Proxima-Nova-Bold.otf.net::ERR_ABORTED
這是我在 Vue 組件中導入 scss 文件的方式
@import '../../../fonts/fonts.scss';
這是我的 laravel 組合
let mix = require('laravel-mix');
mix.copy('resources/assets/images', 'public/images', false)
.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
我哪里弄錯了? 或者告訴我如何正確添加 fonts?
適用於 vue3
<style>
@font-face {
font-family: <name_u_choose>;
src: url('~@/assets/fonts/<static_font_file>.ttf');
}
<style>
<you-selector> {
font-family: <name_u_chose_before>;
}
</style>
基於laravel mix中的這個問題,github https://github.com/JeffreyWay/laravel-mix/issues/1172 laravel mix會在正確引用它們時自動復制字體。
因此,我建議在引用字體時使用相對路徑。 這實際上應該觸發laravel mix在“public”文件夾中創建一個文件夾“fonts”
@font-face {
font-family: "Proxima Nova Bold";
src: url('./../fonts/Proxima-Nova-Bold.otf');
}
您可能需要在混合文件中添加這樣的行:
.copy('resources/fonts', 'public/fonts')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.