背景
我必须为react应用程序使用内容安全策略。
究其原因,在于然而,这不是一个大的事情在这里,是,我创建一个WebExtension /浏览器扩展程序/插件和这些确实有这样的内容安全策略,并有类似的东西'unsafe-eval'
和'unsafe-inline'
被严格禁止:
由于重大安全问题,addons.mozilla.org 上列出的扩展不允许在其 CSP 中使用带有“unsafe-eval”、“unsafe-inline”、远程脚本、blob 或远程源的扩展。
我已经create-react-app
按照本指南松散地创建了该应用程序。目标是能够在WebExtensions 的默认 CSP 中使用 react,或者至少只进行微小的调整。
但是请注意,出于安全原因,(如此严格的)CSP 实际上也应该用于“普通”网站,因此这个问题不仅适用于附加组件制造商。
问题
但是当我运行时npm run build
,生成的index.html
确实包含足够多的内联 JS代码。
问题
那么我如何配置/使用 react 来不这样做并且...
- 或者将所有 JS/CSS 代码放入单独的文件中?
- 或添加通知或 CSP 允许的其他内容?
- 或以类似的方式解决该问题?
编辑
实际上,开发版本(在我运行时创建npm start
)似乎没有这样的缩小。所以我问了一个关于如何从那里获取文件的单独问题:如何在不缩小的情况下构建 React 的生产版本?