You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用@itwin/web-viewer模板创建React应用遇CSP限制eval问题

修复CSP阻止eval的问题

解决这个问题的核心是通过@bentley/react-scripts提供的自定义配置方式修改内容安全策略,直接修改index.html的设置会被框架内置配置覆盖,无法生效,具体操作步骤如下:

  1. 在项目根目录的public文件夹下创建csp.json文件
  2. 将以下配置写入该文件,允许eval并保留iTwin相关资源的加载权限:
{
  "default-src": ["'self'"],
  "script-src": ["'self'", "'unsafe-eval'", "https://*.bentley.com"],
  "style-src": ["'self'", "'unsafe-inline'", "https://*.bentley.com"],
  "img-src": ["'self'", "data:", "https://*.bentley.com"],
  "connect-src": ["'self'", "https://*.bentley.com", "wss://*.bentley.com"]
}
  1. 重启开发服务器,重新加载应用即可

补充说明

iTwin Web Viewer的部分内部逻辑依赖eval,因此必须在CSP的script-src中加入'unsafe-eval'才能正常运行;配置里的bentley域名是加载Viewer核心资源必需的,不能省略。

内容的提问来源于stack exchange,提问作者atrebbi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:36:10