2016-01-21 30 views
4

聚合物中有錯誤跟蹤的方法嗎?如何在聚合物中實現錯誤跟蹤?

問題是,顯然硫化和polybuild過程不能提供任何源地圖(請糾正我,如果我錯了)。這意味着,即使我將使用全局window.onerror函數在硫化java腳本代碼中捕獲異常,我也無法將其映射回來並在源文件中找到錯誤的實際位置。

任何解決方案/解決方法將受到高度讚賞。

+1

https://github.com/Polymer/vulcanize/issues/12 –

回答

0

這是我的想法,可以做些什麼。請提供您的想法和解決方案。此解決方案未經測試。

根據https://github.com/PolymerLabs/polybuild polybuild工具是一樣的:

vulcanize --inline-css --inline-scripts --strip-comments index.html | polyclean | crisper --html index.build.html --js index.build.js 

的順序是:
1)硫化產生一個HTML格式的文件。
2)polyclean使用uglifyjs internaly並執行一些清潔
3)保鮮盒來已經uglyfied和精縮JS從HTML代碼中分離

據我所知uglifyjs不使用HTML文件作爲輸入人工手動polyclean工作剪切部分js代碼「,通過uglifyjs並粘貼回去(我希望我能正確理解polyclean是如何工作的)。這就是爲什麼在這種情況下創建源地圖無用的原因。 我的想法是改變polyclean和更清晰的順序和修改polyclean允許使用外部選項uglifyjs2:

新秩序:
1)硫化生成一個HTML格式的文件。
2)crisper被用來從html中分離格式化的js。
3)polyclean使用uglifyjs internaly,並執行一些清潔(在這種情況下,我們需要在這兩個JS和HTML文件)

使用所以首先你將有HTML文件和格式化的js文件,然後纔可以使用uglifyjs2(來自polyclean還是standalone?)帶有--source-map和--source-map-include-sources選項。 現在你可以使用已經包含步驟#2中生成的js文件的格式化副本的已生成的源地圖來跟蹤你的錯誤。