Eri*_*son 5 javascript reactjs gatsby
我想使用Webfont Loader来管理自定义字体的加载,并且还要加载几种Google字体。但是,我不确定如何将其与Gatsby集成。我为Webfont Loader找到了一个React包装器,但是它希望您像这样使用它:
<WebfontLoader config={config} onStatus={callback}>
<App />
</WebfontLoader>
Run Code Online (Sandbox Code Playgroud)
在我看来,这与盖茨比不兼容。有没有办法使其适应Gatbsy?还是一种使已包装的npm webfontloader模块与Gatsby配合使用的方法?
看看这些人是如何做到的:https://github.com/smartive/smartive.ch/blob/master/src/layouts/index.js
这个例子仍然有点超出我的知识,所以我尝试了一种更简单的方法,它对我来说效果很好(尽管可能不是“最干净”的方法等)
在我的 layouts/index.js 中我导入:
import './main.js'
Run Code Online (Sandbox Code Playgroud)
其中我有以下内容:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我必须添加对窗口的检查,否则在构建用于生产的 gatsby 站点时会出现错误。
| 归档时间: |
|
| 查看次数: |
1946 次 |
| 最近记录: |