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

使用shiny modules的应用如何在Showcase mode下展示模块代码

解决方案

完全可以实现,无需将模块代码全部写入global.R。
默认状态下Shiny Showcase模式的文件扫描逻辑仅会识别应用根目录下的ui.R、server.R、global.R三个核心入口文件,不会自动追踪source()加载的子目录脚本,这就是模块代码无法展示、没有对应语法高亮的核心原因,该行为和官方记录的已知问题表现完全一致。

你可以根据自己使用的Shiny版本,二选一选择配置方案:

  • 方案一(推荐,适用于Shiny 1.7.0及以上版本):通过DESCRIPTION文件手动声明需要展示的模块文件
    打开应用根目录下的DESCRIPTION文件,添加如下配置项,指定需要纳入Showcase展示的模块路径:
    Config/Shiny/ShowcaseFiles:
      modules/*.R
    
    配置完成后重启应用,modules/目录下所有R格式的模块文件都会自动出现在Showcase的文件列表中,自带和核心文件完全一致的语法高亮、代码定位效果,不需要改动任何现有业务代码。
  • 方案二(兼容Shiny 1.7.0以下旧版本):通过特殊注释标记关联的模块文件
    在global.R中加载模块的source()语句前,添加固定格式的注释,让Showcase解析器识别到关联的文件路径,示例代码如下:
    # #! Showcase file: modules/plot_module.R
    source("modules/plot_module.R", local = TRUE)
    
    # #! Showcase file: modules/table_module.R
    source("modules/table_module.R", local = TRUE)
    
    所有被标记的模块文件都会被Showcase模式识别加载,同样支持原生的代码高亮效果。

注意:两种方案都不会破坏你现有的Shiny Modules独立文件架构,应用部署时不需要额外调整其他配置,也不会影响应用本身的运行逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:48:30