将html小部件示例页面的大小与自包含的html小部件的大小进行比较:


# Code to generate the html widget
library(ggplot2)
library(plotly)
library(htmlwidgets)
p <- ggplot(data = diamonds, aes(x = cut, fill = clarity)) +
geom_bar(position = "dodge")
p <- ggplotly(p)
htmlwidgets::saveWidget(p, "path/to/my/widget.html", selfcontained = TRUE)我正试图通过HTTP向web应用程序提供htmlwidget,因此这些小部件的大小是一个值得关注的问题。为什么自带的htmlwidget比htmlwidgets.org示例页面大得多呢?我能做点什么改变吗?
注意:我正在考虑生成一个非自包含的html页面分割页面以获取数据,并为*.min.js文件提供服务,但是聚合的js文件加起来仍然只有几MB。
发布于 2019-01-10 09:34:39
检查时所看到的数字较低,因为文件是使用gzip压缩压缩的,而gzip压缩是在数据到达时被压缩的。

我已经运行了您的示例,数据大小最大的问题似乎是plotly-latest.min.js,它在磁盘上占用了大约2.8MB的存储空间。
要验证这一点,可以从您提供的示例链接下载版本,它将占用大约1.7MB的存储空间。这是不一样的,但是我在示例网页上看到的本地生成的版本和示例页面上的R版本有很多不同的版本(例如:plotly.js v1.16.3,My:v1.39.2),因此很可能是因为版本之间似乎有两年的差距(文件有版权日期范围,最大值是2016年和2018年)。
至于试图减少文件大小的负担,我最好的猜测是,您将要使用的HTTP可以提供相同的gzip编码。没有其他方法可以传输更少的数据,除非您可以将不需要的文件裁剪为后处理,确定这些文件将是一个探索性过程。
https://stackoverflow.com/questions/53398119
复制相似问题