vue设置字体,vue 加载js

  vue设置字体,vue 加载js

  摘要:本文主要介绍了在Vue.js中加载字体的正确方法。本文通过实例和图片相结合的方式为您详细介绍,对您的学习或工作有一定的参考价值。有需要的朋友可以参考一下。

  

目录

  正确声明font-face的字体。通过link=preconnect预加载字体通过服务人员预连接托管字体和缓存字体。结论添加字体应该不会对性能产生负面影响。在本文中,我们将探索在Vue应用程序中加载字体的最佳实践。

  

正确声明 font-face 的字体

  确保字体声明正确是加载字体的一个重要方面。这是通过使用font-face属性声明您选择的字体来实现的。在你的Vue项目中,这个语句可以在你的根CSS文件中完成。在进入这个问题之前,我们先来看看Vue应用的结构。

  /root

  公共/

  字体/

  机器人/

  Roboto-Regular.woff2

  Roboto-Regular.woff

  index.html

  src/

  资产/

  main.css

  组件/

  路由器/

  商店/

  观点/

  主页. js

  我们可以像这样在main.css中进行字体声明:

  //src/assets/main.css

  @font-face {

  font-family:“Roboto”;

  字体粗细:400;

  字体样式:正常;

  字体显示:自动;

  unicode-range:U 000-5FF;

  src:本地(机器人),

  URL(/fonts/Roboto/Roboto-regular . woff2 )格式( woff 2 ),

  URL(/fonts/Roboto/Roboto-regular . woff )格式( woff );

  }

  首先要注意的是字体显示:自动。使用auto作为值允许浏览器使用最合适的策略来显示字体。这取决于一些因素,如网络速度、设备类型、空闲时间等。

  为了更好地控制字体的加载方式,您应该使用font-display: block,它指示浏览器暂时隐藏文本,直到字体完全下载完毕。其他可能的值有交换、回退和可选。你可以在这里了解更多。

  注意unicode-range: U 000-5FF,它指示浏览器只加载所需的字形范围(U 000-U 5FF)。您还希望使用woff和woff2字体格式,这是经过优化的格式,可以在大多数现代浏览器中使用。

  另一个需要注意的是src序列。首先,我们检查字体的本地副本是否可用(local(Roboto ))并使用它。很多安卓设备都预装了Roboto。在这种情况下,我们将使用预安装的副本。如果没有本地拷贝,继续下载有浏览器支持的woff2格式。否则,它将跳转到受支持声明中的下一种字体。

  

预加载字体

  一旦您的自定义字体被声明,您可以使用link rel=preload 告诉浏览器预先加载字体。在public/index.html中,添加以下内容:

  环

  rel=预载

  as=font

  href=。/fonts/Roboto/Roboto-regular . woff 2

  type=font/woff2

  crossorigin=匿名

  /

  Rel="preload "指示浏览器尽快开始获取资源,as="font "告诉浏览器这是字体,所以优先处理请求。还要注意cross origin="anonymous ,因为没有这个属性,浏览器会丢弃预装的字体。这是因为浏览器匿名获取字体,所以您可以使用该属性匿名请求字体。

  使用link=preload可以增加自定义字体在需要之前被下载的机会。这个小小的调整大大加快了字体的加载速度,从而加快了Web应用程序中的文本呈现速度。

  

使用 link = preconnect 托管字体

  使用Google fonts等网站托管字体时,使用link=preconnect可以获得更快的加载时间。它告诉浏览器提前与域名建立连接。

  如果您使用的是Google Font提供的Roboto字体,您可以在public/index.html中执行以下操作:

  link rel= pre connect href= https://fonts . gstatic . com /

  .

  环

  href= https://fonts . Google APIs . com/css2? family=Robotodisplay=swap

  rel=样式表

  /

  这样,与起源https://fonts.gstatic.com的最初联系就可以建立起来了。当浏览器需要从原点获取资源时,连接已经建立。从下图可以看出两者的区别。

  加载字体时不使用link=preconnect时,可以看到连接所需的时间(DNS查找、初始连接、SSL等。).当像这样使用link=preconnect时,结果看起来非常不同。

  在这里,你会发现花在DNS查找、初始连接和SSL上的时间已经不存在了,因为之前的连接已经做好了。

  

使用 service workers 缓存字体

  字体是静态资源,几乎没有什么变化,所以它们是缓存的好对象。理想情况下,您的Web服务器应该为字体设置一个长的max-age expires头,这样浏览器就可以用更长的时间来缓存字体。如果您正在构建渐进式web应用程序(PWA ),那么您可以使用服务工作器来缓存字体,并直接从缓存中为它们提供服务。

  要开始使用Vue构建PWA,请使用vue-cli工具生成一个新项目:

  vue创建pwa-app

  选择手动选择功能选项,然后选择渐进式Web应用程序(PWA)支持:

  这些是我们生成PWA模板所需的唯一内容。之后可以把目录改成pwa-app,然后服务app。

  cd pwa-app

  纱线服务

  您会注意到src目录中有一个文件registerServiceWorker,它包含默认配置。在项目的根目录下,如果vue.config.js不存在,请创建。如果有,请添加以下内容:

  //vue.config.js

  模块.导出={

  pwa: {

  工具箱选项:{

  skipWaiting:没错,

  clientsClaim: true,

  },

  },

  };

  vue-cli工具使用PWA插件来生成服务工作者。在底层,它使用Workbox来配置服务工作器及其控制的元素、要使用的缓存策略以及其他必要的配置。

  在上面的代码片段中,我们希望确保我们的应用程序始终由最新版本的service worker控制。这是必要的,因为它确保我们的用户总是检查应用程序的最新版本。您可以签出Workbox配置文档,以获得对生成的服务工作者行为的更多控制。

  接下来,我们将自定义字体添加到公共目录中。我有以下结构:

  根/

  公共/

  index.html

  字体/

  机器人/

  Roboto-Regular.woff

  Roboto-Regular.woff2

  Vue应用程序的开发完成后,可以通过从终端运行以下命令来构建它:

  纱线结构

  这会将结果输出到dist文件夹。如果您检查文件夹的内容,您会注意到一个类似于pre chache-manifest . 1234567890 . js的文件,它包含要缓存的资产列表,这只是一个包含修订版和URL的键值对列表。

  自我。_ _ pre chemanifest=(self。_ _ pre chemanifest [])。concat([

  {

  版本: 3628b4ee5b153071e725 ,

  URL :/fonts/Roboto/Roboto-regular . woff 2

  },

  .

  ]);

  默认情况下,public/文件夹中的所有内容都会被缓存,包括自定义字体。有了这个地方,您可以使用service之类的包来为您的应用程序提供服务,或者在web服务器上托管dist文件夹来查看结果。您可以在下面找到应用程序的截图。

  在后续的访问中,从缓存中加载字体,可以加快应用的加载时间。

  

结论

  在本文中,我们研究了在Vue应用程序中加载字体时应用的一些最佳实践。使用这些实践将确保您提供的字体看起来很好,而不会影响应用程序的性能。

  关于Vue.js加载字体的正确方法这篇文章就到这里了,关于Vue.js加载字体的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: