我正在考虑使用静态生成器从 json 或 csv 文件生成多达数十万页(在 S3 上)的数据驱动内容,每个文件都有一个发布到外部 API 的 html 表单。这是一项可行的事业吗?
1 回答
这取决于您的要求,但至少,您甚至可以使用一个fs
用于读/写的简单节点程序。在复杂性范围内,您可能会使用 Gulp 设置。更进一步,您可以使用静态网站生成器来读取/写入您的数据文件(但只有当您已经了解静态生成器和/或您也希望在 S3 上拥有一个博客时,这才可能值得麻烦,驱动.MD 文件,以及数十万个数据驱动的页面)。
如果使用简单的 node script route,您将在 js 文件中创建本地应用程序,通过 node.js 中的命令行运行它。它会在本地生成数千个页面,然后您将它们上传到 S3。您可以使用标准的后备或使用 Promise 的更高级的方式(例如使用 Bluebird)。这种方式是最手动的,但您对结果的控制最多。
作为记录,您可以使用您精通的任何编程语言编写脚本,例如 PHP。JavaScript 现在很流行,这就是我假设你会使用 JS 的原因。
如果走 Gulp 路线,我想象一个自定义函数从该位置读取数据文件,将其内容解析为数组,并将内容写入文件。
如果走 Hugo 路线,只需使用数据驱动的内容引用、getCSV
功能。您仍然需要在网站的上下文中工作,这意味着您偏离网站设置的次数越多,您就越需要与 Hugo 对抗。
正如我所提到的,反对静态网站生成器的论点是,如果您不需要网站部分,只对数据执行操作和写入文件,它可能会有所保留。
Hugo 对于数千个文件来说是一个不错的选择,因为它速度很快。
解决方案还取决于您的 CSV 文件是否会更改,或者是一次性的;还有你需要多少自动化。即使你走雨果路线,Gulp 方法也可能很方便。
所以,是的,这是一个非常可行的事业。