模块化 js 模式中的 Webfont Loader

Webfont Loader in modular js pattern

webfont 加载器文档提供了这个示例脚本:

WebFontConfig = {
  typekit: { id: 'xxxxxx' }
};

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

如果我将它直接放在我页面 <head> 的脚本标记中,它就可以正常工作。 如果我将它包装在一个函数中并尝试导出它,我会在控制台中收到此错误:

Uncaught ReferenceError: WebFontConfig is not defined

以下是我尝试包装它的方式:

function initialiseWebFontLoader() {
    WebFontConfig = {
        google: {
            families: ['Open Sans', 'Lora']
        },
        timeout: 1500
    };

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

module.exports = {
    initialiseWebFontLoader: initialiseWebFontLoader
};

我是不是做错了什么?

哦,我需要将 WebFontConfig 附加到 window 对象。

window.WebFontConfig.