编程语言
首页 > 编程语言> > javascript – 如何在Gatsby中使用Webfont Loader?

javascript – 如何在Gatsby中使用Webfont Loader?

作者:互联网

我想使用Webfont Loader管理自定义字体的加载,并加载一些谷歌字体.但是,我不确定如何将它与Gatsby整合.我找到了React wrapper for Webfont Loader,但是它希望你像这样使用它:

<WebfontLoader config={config} onStatus={callback}>
  <App />
</WebfontLoader>

在我看来,与盖茨比并不相容.有没有办法对它进行调整,以便与Gatbsy合作?还是一种让unwrapped npm webfontloader module适应盖茨比的方法?

解决方法:

看看这些人是如何做到的:https://github.com/smartive/smartive.ch/blob/master/src/layouts/index.js

这个例子仍然比我的知识稍微高一点,所以我尝试了一种更简单的方法,它对我来说效果很好(虽然可能不是“最干净”的方法等)

在我的layouts / index.js我导入:

import './main.js'

我有以下内容:

if (typeof window !== `undefined`) {

window.onload=function(){

  var WebFont = require('webfontloader');

  WebFont = {
      typekit: { id: 'psj0mst' }
   };

   (function(d) {
      var wf = d.createElement('script'), s = d.scripts[0];
      wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js';
      wf.async = true;
      s.parentNode.insertBefore(wf, s);
   })(document);

}
}

我不得不添加窗口检查,否则在构建gatsby网站进行生产时出现错误.

标签:javascript,reactjs,gatsby
来源: https://codeday.me/bug/20190607/1195284.html