2017-03-15 24 views
0

當我編寫與SystemJS和Webpack兼容的Angular庫時,有時在加載頁面後會出現一些不同的結果。爲了修補組件和刪除差異,我試圖找到正確的方法來檢測它是否是webpack環境或組件內的systemJS環境。如何在Angular2組件中的javascript中檢測Webpack/SystemJS?

一個哈克溶液: 在的WebPack,一個屬性被添加像「_ngcontent-XXX-n」表示各成分,從而有一個通過的WebPack加載由systemJS加載的部件和之間的屬性的長度的差,所以我這樣做:

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

但問題是屬性的長度可以改變,使得未來的錯誤那麼有沒有更好的解決辦法嗎?

回答

0

我找到了一個合適的解決方案。要檢查的屬性位於窗口javascript對象上。

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