如何检查 mithril.js 是否已加载?

How to check if mithril.js is loaded?

我正在尝试创建本地回退以加载 mithril.js 文件以防 CDN 失败。

我想使用这个 jQuery 回退的等价物:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/jquery-2.1.1.min.js"></script>')</script>

如何检查 mithril.js 是否已加载?

(我知道使用此回退的限制并且需要很长时间才能加载。使用其他依赖项检查器 - 框架目前不是一个选项)

如果你没有在你的 javascript 中和你的 mithril CDN 之后使用任何名为 m 的变量。您可以通过;

查看
if (typeof(m) === 'function') {
  // Mithril is loaded.
}

或者,如果你知道你的秘银版本,那就更好了。

function isMithrilLoaded(versionName) {
    if (typeof(m) == 'function' && typeof(m.version) == 'function') {
        return m.version() == versionName;
    }
    return false;
}

e.g. isMithrilLoaded('v.0.2.3');