我正在使用Vue 3和Node/Express开发一个Web应用程序。当为构建的前端代码提供服务时,我收到以下错误:
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'".
at new Function (<anonymous>)
...etc
这个问题似乎只发生在页面重新加载时-当页面第一次加载时,没有错误
当我在网上查看这个问题时,我只能找到Vue文档,这些文档引用了Vue 2的CSP问题,而不是Vue 3。有人知道这个问题的解决方案吗?如果有必要的话,可以选择在我的CSP标题中添加“unsafe-eval”,但我想知道是否有更安全的替代方案?
从express服务器中删除helmet.js的使用当然也解决了这个问题,但这只是因为这样做删除了它所添加的CSP头。
1条答案
按热度按时间umuewwlo1#
可以重写有问题的代码(只要你能轻松修改代码)。请参阅https://learn.microsoft.com/en-us/microsoft-edge/extensions-chromium/store-policies/csp的“Eval和相关函数被禁用”一节。