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

Docker部署的Superset中如何编写自定义Javascript代码?

在Docker部署的Superset中添加自定义JavaScript的正确方式

方法一:通过官方配置项挂载自定义JS文件(推荐)

这是Superset官方支持的持久化自定义方式,不会因为容器重启丢失配置:

  • 在宿主机创建自定义JS文件,比如命名为superset_custom.js,写入测试代码:
    alert('测试弹窗');
    
  • 修改Superset的配置文件superset_config.py,添加以下配置:
    CUSTOM_JAVASCRIPT = '/static/superset_custom.js'
    
  • 在Docker启动命令或docker-compose.yml中,将宿主机的JS文件挂载到容器内的静态资源目录:
    如果用docker run:
    docker run -v ./superset_custom.js:/app/superset/static/superset_custom.js ... 其他启动参数
    
    如果用docker-compose,在services.superset的volumes中添加:
    - ./superset_custom.js:/app/superset/static/superset_custom.js
    
  • 重启Superset容器,刷新页面即可触发弹窗。

方法二:修改模板文件(不推荐,需持久化模板)

如果你一定要通过修改模板实现,注意以下几点:

  • 容器内的模板路径是/app/superset/templates/superset/basic.html,直接在容器内修改会在重启后丢失,建议先将模板复制到宿主机:
    docker cp <你的Superset容器ID>:/app/superset/templates/superset/basic.html ./
    
  • 在本地的basic.html中,将脚本添加到</body>标签之前(而非之后,因为</body>之后的内容不属于DOM解析范围):
    <script>alert('测试弹窗');</script>
    </body>
    
  • 将修改后的模板挂载回容器:
    在docker run或docker-compose.yml的volumes中添加:
    - ./basic.html:/app/superset/templates/superset/basic.html
    
  • 重启容器后刷新页面即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:32:06