电子未能加载资源

时间:2019-01-01 13:11:27

标签: webpack electron content-security-policy

我使用https://github.com/pbarbiero/basic-electron-react-boilerplate,但在macOS上更新后,我无法再加载我的应用程序。

在检查器上,显示此错误:

  

拒绝执行内联脚本,因为它违反了以下内容   安全策略指令:“ default-src'self'”。要么   'unsafe-inline'关键字,一个哈希   (“ sha256-Z + HxFhVCHMznEI / lLsU2FT9krRiVCTm6bGApEd5HAtk =”)或随机数   ('nonce -...')是启用内联执行所必需的。另请注意   未明确设置'script-src',因此将'default-src'用作   后备。

     

index.html无法加载资源:服务器以404(未找到)状态进行响应

我尝试了这项技术https://electronjs.org/docs/tutorial/security#csp-http-header,但遇到了相同的错误。

我的macOS版本是Mojave 10.14.2(18C54)

2 个答案:

答案 0 :(得分:0)

有同样的问题,我想我找到了解决方法。如警告消息所示,由于内联脚本违反了内容安全策略(CSP),因此被阻止。

CSP在www / index.html中定义:“元http-equiv =“ Content-Security-Policy” ....“

更改

script-src *数据:https://ssl.gstatic.com'unsafe-eval'; 在内容字符串中

script-src *数据:https://ssl.gstatic.com'unsafe-inline''unsafe-eval';

为我修复了该问题。

此处有更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script

答案 1 :(得分:0)

我已将其修复:

new HtmlWebpackPlugin({
  'meta': {
    'Content-Security-Policy': { 'http-equiv': 'Content-Security-Policy', 'content': "script-src 'self' 'unsafe-inline'; object-src 'self'" },
  }
}),