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