将数据加载到静态网站中的 JavaScript 以供立即使用的最快方法是什么?
What's the fastest way to load data into JavaScript in a static website for immediate use?
我有一个网站需要加载大量数据(即 CSV 中的 ~5 或 10 Mb)。
这是一个静态网站(仅限HTML和JS,没有数据库),我从一开始就需要所有数据,因为我使用dc中的数据.js和数据表。
现在,我已经将数据存储在CSV文件中,并使用d3.js的d3.csv
函数加载它。
但是在我最快的连接上有 20k 条记录,加载文件需要 5 秒。
为了给出更好的主意,这是我的CSV的单个记录(其中有10k到50k):
Title,Year,Rating,NumVotes,imdbID,Type,poster_path,release_date,Released,Runtime,Genres,Directors,Actors,Plot,Country,Metascore,imdbRating,imdbVotes,tomatoMeter,tomatoReviews,tomatoUserMeter,tomatoUserReviews,DVD
"Grease Live!","2016","7.7","3978","tt4366830","TV Movie","/6g1E0Ptg27NLCoK7rhJxuQxZCdg.jpg","2016-01-31","31 Jan 2016","180","Musical","Thomas Kail, Alex Rudzinski","Aaron Tveit, Julianne Hough, Elle McLemore, Vanessa Hudgens","After enjoying a summer romance, high school students Danny and Sandy are unexpectedly reunited when she transfers to Rydell High. There Sandy must contend with cynical Rizzo and the Pink Ladies in attempt to win Danny's heart again.","USA","N/A","7.8","3,710","N/A","N/A","N/A","12","N/A"
我想知道加载数据的最快方法是什么(压缩、拆分和异步加载、Firebase ......
目前我所知道的是JSON比CSV更糟糕,因为它占用更多空间。
1. 分解数据
也许您可以将数据分解为几千行的块,以便在传递给数据表之前重建客户端?
这样,您就可以利用并行下载。
2. 利用客户端缓存
如果您知道数据更改的频率,或者可以接受某些更改间隔,则可以使用 HTTP Expires
标头来防止文件被不必要地下载?
只是在黑暗中拍摄
也许看看这个 http://papaparse.com
有一个在线演示,您可以将数据粘贴到其中,看看需要多长时间。 下载脚本并试用,并将其与您正在使用的脚本进行比较。
相关文章:
- 打破承诺链的好方法是什么
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- knex:根据结果创建数组的合适方法是什么
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- node.js是否具有'match()'方法如果是,语法是什么
- 使用Modernizr检测移动设备最可靠的方法是什么
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- 让会话值可用于JavaScript的好方法是什么
- 从AngularJs获取谷歌地图对象的正确方法是什么
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 列出没有 mysql 的元素的最佳方法是什么
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本