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如下图


------------------------------------下面这段心里感悟就随着这篇技术一起发了--------------------------------------------------

最近一直在做平台的项目。项目的过程中其实没有遇到很多的问题。但是因为平台的不稳定。再加上有些细节了解不到。所以就一直反复的在做一些很重复的事情。再加上春节这个假期。所以就有大概一个多月没更新博客了。看了一下还是感觉到一点点恐慌。毕竟这也从某种程度上表明了这一个多月里面没有什么成长。从现在开始又得持续的进行更新和学习了。之前在知乎上看到一个人问人是怎么废掉的。其中有一个答案说的是只有输入没有输出就会被废掉。仔细想想我觉得这个真的很有道理。我们每天各种知乎,微博公众号看了很多很多的东西。但是我们没有思考。没有停下来想,都是被很多东西给裹挟着往前。就算我们思考了我们没有输出。没有将很多的东西进行合理的总结的表达。所以写博客也是一种输出,将自己的很多观点和解决方法分享出来。促进自己的合理成长是很有必要的。

猜你喜欢

转载自blog.csdn.net/qq_24210767/article/details/79357277