2017-07-20 51 views
0

我有一個反應的應用程序。在Windows 10,它工作正常,在Chrome和Internet Explorer 11,但在Windows 7中,它只能在Chrome,不是Internet Explorer 11反應的應用程序:在Internet Explorer上運行的問題11

我得到下面的錯誤:

SCRIPT438: Object doesn't support property or method 'assign' 

通過我的研究這看起來像IE 11兼容性問題(雖然不知道爲什麼它在Windows 10上工作)。

據我所知,需要使用polyfill/transfill(?)/ babel。但這裏是我有最大的問題:

我有一個bundle.js文件,其中包含所有的網站代碼。這是我自己的代碼和NPM節點模塊的混合體。如果問題出在我的代碼上,那麼我可以添加一個導入行並更改我的代碼。但錯誤來自npm節點模塊。我無法編輯這些文件。如何解決這個Object.assign問題而不觸及這些文件?

我不是很熟悉的瀏覽器兼容的東西,所以我很堅持

有什麼建議?

回答

1

最好的長期/社區友好的解決方案可能是確定哪個模塊導致問題,並向模塊的維護人員提出問題。但是,如果您需要立即修復或者如果無法確定哪個模塊導致問題,則可以在加載違規模塊之前嘗試包括Object.assign填充。

polyfill是一段代碼,它爲不支持給定功能的瀏覽器手動定義一個功能(如Object.assign)。在這種情況下,您可以包含諸如this module之類的東西,無論是通過在其他模塊之前將其導入到您的包中,還是在加載bundle.js文件之前下載並提供該polyfill文件並在HTML文檔中加載<script>標記。這樣,Object.assign將在您的瀏覽器遇到調用Object.assign的模塊代碼之前由polyfill定義。

+0

我想我需要立即修復。我已經做了關於你的鏈接,運行npm install es6-object-assign,並且在package.json中我包含了\t「es6-object-assign」:「^ 1.1.0」,在依賴關係和devDependencies中。在我的index.html中,我引用我的包,文件。在此之上,我包含代碼: – user3120554

+0

user3120554

+0

它似乎沒有工作。我甚至重新啓動了我的npm webpack,但我仍然得到相同的錯誤。這是如何使用它? – user3120554

相關問題