Angular C SP 拋出 eval () 問題解決方法。

背景:在將項目部署到雲平臺時,運行拋出異常。異常如下。

Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' static.eu1.mindsphere.io".


項目:Angular 2 工程。使用ng build 將項目進行打包。

分析:因爲使用了CSP瀏覽器同源策略。所以不允許頁面裏面有eval這種不安全的操作。所以瀏覽器會限制這種函數執行來保證你的網站的安全性。以避免跨域攻擊。我在Google和百度了大量的問題。但是都沒有找到是怎麼解決了。因爲這種方式打包的bundle.js裏面確實有很多這樣的函數。

CSP的簡介參考鏈接 https://www.cnblogs.com/kexxxfeng/p/6505380.html

解決方案:使用 ng build -prod 命令就好了

ng build 和 ng build -prod 參生的差異。

ng build 如下圖


ng build - prod如下圖


------------------------------------下面這段心裏感悟就隨着這篇技術一起發了--------------------------------------------------

最近一直在做平臺的項目。項目的過程中其實沒有遇到很多的問題。但是因爲平臺的不穩定。再加上有些細節瞭解不到。所以就一直反覆的在做一些很重複的事情。再加上春節這個假期。所以就有大概一個多月沒更新博客了。看了一下還是感覺到一點點恐慌。畢竟這也從某種程度上表明瞭這一個多月裏面沒有什麼成長。從現在開始又得持續的進行更新和學習了。之前在知乎上看到一個人問人是怎麼廢掉的。其中有一個答案說的是隻有輸入沒有輸出就會被廢掉。仔細想想我覺得這個真的很有道理。我們每天各種知乎,微博公衆號看了很多很多的東西。但是我們沒有思考。沒有停下來想,都是被很多東西給裹挾着往前。就算我們思考了我們沒有輸出。沒有將很多的東西進行合理的總結的表達。所以寫博客也是一種輸出,將自己的很多觀點和解決方法分享出來。促進自己的合理成長是很有必要的。