如何在 Vue.js 项目中添加字体

新手上路,请多包涵

我有一个 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')

我哪里弄错了?或者告诉我如何正确添加字体?

原文由 Yaroslav Saenko 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 466
1 个回答

基于 laravel mix github https://github.com/JeffreyWay/laravel-mix/issues/1172 中的这个问题 laravel mix 将在正确引用字体时自动复制字体。

因此我建议在引用字体时使用相对路径。这实际上应该触发 laravel mix 在你的“公共”文件夹中创建一个文件夹“fonts”

 @font-face {
  font-family: "Proxima Nova Bold";
  src: url('./../fonts/Proxima-Nova-Bold.otf');
}

原文由 Frnak 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题