当我编写与SystemJS和Webpack兼容的Angular库时,有时在加载页面后会有一些不同的结果。为了修补组件并消除差异,我试图找到正确的方法来检测它是否是组件内的webpack环境或systemJS。
一个hacky解决方案: 在webpack中,添加了一个属性,如" _ngcontent-xxx-n"对于每个组件,因此systemJS加载的组件和Webpack加载的组件之间的属性长度不同,所以我这样做了:
( this.elHTML.attributes[x] === undefined ) ? //Code for webpack : //Code for SystemJS;
但问题是属性的长度可能会发生变化并产生未来的错误,那么有更好的解决方案吗?
答案 0 :(得分:0)
我找到了正确的解决方案。要检查的属性位于窗口javascript对象上。
( window.hasOwnProperty("SystemJS") ) ? //Code for SystemJS : //Code for Webpack;