如何在Angular2组件中的javascript中检测Webpack / SystemJS?

时间:2017-03-15 18:45:45

标签: angular webpack components systemjs

当我编写与SystemJS和Webpack兼容的Angular库时,有时在加载页面后会有一些不同的结果。为了修补组件并消除差异,我试图找到正确的方法来检测它是否是组件内的webpack环境或systemJS。

一个hacky解决方案: 在webpack中,添加了一个属性,如" _ngcontent-xxx-n"对于每个组件,因此systemJS加载的组件和Webpack加载的组件之间的属性长度不同,所以我这样做了:

( this.elHTML.attributes[x] === undefined ) ? //Code for webpack : //Code for SystemJS;

但问题是属性的长度可能会发生变化并产生未来的错误,那么有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我找到了正确的解决方案。要检查的属性位于窗口javascript对象上。

( window.hasOwnProperty("SystemJS") ) ? //Code for SystemJS : //Code for Webpack;