Angular 4 为区域.js放置了一个可用的全局常量



我正在使用带有打字稿和区域的 Angular(我认为是 4 个.js (0.8.4(。我通过"polyfills.ts"文件导入区域.js。当我查看zone.js的源代码时,有这样的代码:

var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;

我的问题是,如何在_globals中设置此变量?

谢谢

global是浏览器中window对象,如下所示:

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
typeof define === 'function' && define.amd ? define(factory) :
(factory());
}(this,    <------------ `this` points to `window` in global scope
(function () { 
...
});

所以你可以像这样设置变量:

window['__Zone_disable_IE_check'] = true;

但是您需要在加载zone.js之前执行此操作。如果在index.html中加载zone.js,请添加以下内容:

<script>
window['__Zone_disable_IE_check'] = true;
</script>
<script src="node_modules/zone.js/dist/zone.js"></script>

就我而言,我不得不取消注释 polyfills 文件中的以下行:

(window as any).__Zone_enable_cross_context_check = true;

项目角度版本:角度6.0.1

最新更新