【问题标题】:How to detect Webpack/SystemJS in javascript inside an Angular2 component?如何在 Angular2 组件内的 javascript 中检测 Webpack/SystemJS?
【发布时间】:2017-03-15 18:45:44
【问题描述】:

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

一个 hacky 解决方案: 在 webpack 中,为每个组件添加了一个属性,例如“_ngcontent-xxx-n”,因此 systemJS 加载的组件和 Webpack 加载的组件之间的属性长度存在差异,所以我这样做了:

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

但问题是属性的长度可能会发生变化并导致将来出现错误,请问有更好的解决方案吗?

【问题讨论】:

    标签: angular webpack components systemjs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 2016-10-17
      • 2017-12-06
      • 2016-06-15
      • 2016-05-11
      • 2017-02-11
      • 2017-03-19
      相关资源
      最近更新 更多