Blogdown执行serve_site()时无法渲染图表问题排查求助
问题根因与修复步骤
这类交互模式运行正常、构建站点后图片加载失败的问题,90%以上都是路径配置错误导致的,按以下步骤排查即可解决:
- 首先检查
config.toml里的baseURL配置,必须写全地址且携带末尾斜杠,即baseURL = "https://conorneilson.com/",缺少末尾斜杠会导致Hugo拼接相对路径时出错,直接触发图片404。 - 之后检查图片路径配置,不要给knitr设置全局的绝对路径
fig.path。可以直接在出问题的这篇.Rmd文件的YAML头部添加如下配置:
要让配置全局生效的话,把上述代码写到站点根目录的output: blogdown::html_page: fig.path: "index_files/figure-html/"_output.yml文件中即可。 - 最后确认构建后的产物是否完整,运行
build_site()后前往public/post/two-new-data-packages/目录查看,确认index_files/figure-html里的图片文件都已正常复制到该路径下,要是存在缺失就检查config.toml的ignoreFiles配置,确认没有把这类带_files后缀的资源目录过滤掉。
修改完成后重新构建站点即可正常显示图表。
内容的提问来源于stack exchange,提问作者Conor Neilson
相关产品推荐
相关产品推荐

