【问题标题】:CSV generation in client side or backend?在客户端或后端生成 CSV?
【发布时间】:2015-11-21 17:15:17
【问题描述】:

我正在使用 angular js [客户端] 和 node js [用于后端]。 将内容生成为 csv 时,哪种方法更有效和更可取, 一种。编写 CSV 生成,在客户端 [使用 Angular 或 javascript] 设置字段 [从后端节点 js 获取后] 或 湾。从后端获取 CSV 文件作为响应?

请告诉我两者的优缺点。

【问题讨论】:

  • 如何生成 CSV?数据从何而来?如果您在服务器上获取数据,将所有逻辑保存在一个地方会更有意义,这样它就可以自包含并且更易于测试。
  • @timothyclifford 和我想问的问题差不多... :-)
  • 只要您不需要支持旧版浏览器,使用客户端 JS 执行此操作即可。触发文件下载需要现代浏览器的数据 URL 和其他所有内容的 Flash。生成 CSV 本身的复杂性应该没有差异,但是如果您采用客户端 JS 方式,则可能会因大量数据而遇到麻烦。
  • 理想情况下,您的 UI 应该是数据驱动的。意思是,它应该只关心呈现数据(而不是它的创建)。我建议从服务器获取响应,然后在客户端使用这些数据。
  • @timothyclifford robertKlep 我正在使用 nodejs 从 mysql 中提取数据并将响应发送回客户端角度。 csv 的生成是使用纯 javascript 完成的。 csvContent = "data:text/csv;charset=utf-8,";var encodedUri = encodeURI(csvContent);那么,您认为哪种方式可取?

标签: javascript angularjs node.js html csv


【解决方案1】:

假设创建了选定的客户端 CSV。

优点:

  • 选择客户端 csv 创建;不那么累的后端。
  • 如果客户端已经有数据,如果后端不需要响应 CSV 文件,它将很有用。

缺点:

  • 如果用户当时只有旧版浏览器,则无法创建 CSV 文件。
  • 你的后端会更累。

因此,从技术上讲,所有主题(关于性能等)的开发人员都可以深入研究。这些是基本的优点和缺点。其他要求或逻辑也可以改变优缺点。

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    相关资源
    最近更新 更多