我对Docpad中数据持久化背后的架构非常困惑.从博客和论坛,我知道内存(和/或目录)用于生成的内容.但Docpad的一个卖点是"完全基于文件".从它的声音,它在Heroku或任何短暂的文件系统上托管它似乎不合逻辑.任何人都可以给出一些解释/澄清吗?
DocPad是下一代Web架构的基础.这个思维导图展示了我们称之为完美的原因:
DocPad Architecture Vision http://d.pr/i/jmmZ+
工作流程如下:
从这个意义上讲,DocPad是下一代Web架构,具有静态站点生成功能以及动态站点生成功能.DocPad与传统Web架构的区别在于,传统的Web架构会考虑内容并模板化各自的存在,而DocPad认为它们是相同的,并且只是由它们的扩展分开.传统的Web体系结构在默认情况下也是动态的,静态站点生成通过缓存完成,而不是默认情况下静态的其他方式.
由于这种负载在内存数据库中的所有情况,我们正在遭受一些在生成和后代期间的性能增长的痛苦.在这里讨论.然而,没有任何东西无法用足够的时间和资源来修复.无论如何,由于静态特性(更快的请求)以及异步特性(更快的代),DocPad仍将比传统的Web架构更快.
就如何处理文件上传而言:
如果您正在使用DocPad进行静态网站,那么您将在其他地方使用后端API服务器进行上传,并将数据作为单页应用程序样式加载到DocPad中.
如果您使用DocPad进行动态网站,您可以在像Heroku这样的服务器上托管DocPad,并扩展服务器以处理文件上传到目标,如Amazon S3,Dropbox或MongoDB等.然后,您可以选择通过templateData作为链接公开文件,或者将文件作为文件注入DocPad内存数据库.您选择哪一个是您是否只想引用上传或将其视为DocPad Universe中的一等公民(它获取自己的URL和页面).
对于动态网站,我会说我真的采用静态网站+单页面应用程序方法.您可以获得诸如响应式设计,离线支持,非常快速的用户体验等优势,无论采用哪种方式,您都无法通过动态站点方法来完成它,无论您构建它采用哪种Web体系结构.
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |