2017-03-06 35 views
0

我想製作一個與IE9兼容的網站。 閱讀下面的文檔後,我在index.html中添加了一個polyfill腳本。 https://angular.io/docs/ts/latest/guide/browser-support.html如何設置angular2 ie9墊片?

<script src="node_modules/core-js/client/shim.min.js"></script> 

然而,有一個404 NOT FOUND錯誤如我所料。 (因爲有node_modules沒有路由) 無法加載資源:服務器與404(未找到)shim.min.js 這裏一個狀態迴應是錯誤截圖:
enter image description here

我想有爲此設置做了更多準備。 任何人都可以幫助我嗎?

+0

你可以顯示正確的錯誤顯示? – Smit

+0

是否安裝過它:'npm install core-js' – pixelbits

+0

是的,我安裝了它。 (我通過angular CLI創建了我的項目,並且CLI安裝了core-js,我已經從package.json> dependencies>「core-js」確認了它:「^ 2.4.1」) – changsoo

回答

0

如果您正在關注角度的教程應用程序結構,那麼您將會知道從索引頁獲取的位置開始,沒有node_module文件夾。

相反,你必須得到上一級../,並改成這樣:

<script src="../node_modules/core-js/client/shim.min.js"></script> 
+0

Thanks!我理解你的評論。但是我認爲index.html沒有更多的父級,因爲index.html位於根文件夾中。無論如何,我可以通過將shim.min.js移動到根文件夾來解決此問題。 (對於臨時權宜之計)但是,當我通過「ng bulid --prod」構建此項目並從/ dist文件夾運行它時,它仍會產生相同的錯誤。我是否總是需要複製並粘貼shim.min.js文件來解析此項目? – changsoo

+0

@changsoo是的!因爲這可能不會包含在構建過​​程中,所以您必須靜態地從CDN提供服務(如果可用)或將其放入構建過程中,以便它可以在包中使用。 – Jai

+1

我也發現我可以在src/polyfills.ts中導入shim.min.js。 (例如:import'core-js/client/shim.min.js')如果我以這種方式在polyfills.ts中包含shim.min.js,我認爲我不需要從CDN複製粘貼或下載。 (當然,包括polyfills在內的最新瀏覽器可能是多餘的)無論如何,這是否包含polyfills的正確方法?如果我出錯了,請糾正我。謝謝! – changsoo