检测 Meteor 是否在生产中服务于遗留或现代包

Detect if Meteor serves legacy or modern bundle in production

自 Meteor 1.7 以来,Meteor 构建了一个遗留 JS 包以支持 'older' 浏览器和一个现代包,它允许现代浏览器直接使用 async/await 等功能,同时仍保持对旧浏览器的支持。

现在我正在查看 IE11 调试工具的“网络”选项卡,既不是从文件名,也不是从响应headers我可以确定提供的是旧包还是现代包。

我预计 IE11 会收到旧版捆绑包,但我如何才能检测到这一点?

几乎所有浏览器都提供开发人员工具,它们通常还包含交互式 Javascript 控制台。

您可以使用它来访问附加到 window 的全局 Meteor 对象。 Meteor 有很多关于连接和应用程序状态的信息存储在这个全局中。

因此,您还可以通过键入来访问应用程序是旧版还是现代版

window.Meteor.isModern

只有当捆绑包是现代捆绑包而不是传统捆绑包时,才会 return 为真。请注意,这应该与 window.Meteor.release 结合使用,以查看您是否真的需要 modern/legacy 功能(旧版 Meteor 不支持它)。