【发布时间】:2014-04-04 21:38:17
【问题描述】:
{{mustache}} 在我看来是一个很棒的模板库。我面临的问题是在客户端还是在服务器端使用它。
我正在开发一个在线杂志,其主页将包含一篇大文章,其余文章在下方。
例如
+-------------------------------------------------+
| |
| Big Article Image |
| |
| |
+-------------------------------------------------+
Title
Author
+------------+ +------------+ +-----------+
| Image | | Image | | Image |
+------------+ +------------+ +-----------+
Title Title Title
Author Author Author
...
服务器端选项
在服务器端使用{{mustache}},作为PHP库:当浏览器请求页面时,服务器将完成模板并将其发送回来。
优点:
- 加载时间会更好。浏览器一旦收到 html 代码,就会知道它必须向服务器请求哪些其他资源。
缺点:
- 很难与客户端
{{mustache}}集成,因为在解析模板时,所有不匹配的“mustache-tags”都会被删除(我不知道这是否可以轻松干净地避免) . - 我不喜欢从服务器端修改接口,我宁愿从客户端修改,因此 3 层架构看起来更清晰(您可能对此有所不同)。
- 我之前没有使用服务器端
{{mustache}}的经验。
客户端选项
我通常使用ICanHas.js,而不是普通的{{mustache}},它包装了{{mustache}},使它非常容易和舒适:当浏览器请求页面时,发送HTML,包含所有js向服务器询问 JSON 的代码,其中包含图像的标题、作者和文件名。
优点:
- 增强 3 层架构。
- 无限滚动(其他 ajax 的东西)之类的东西添加起来非常简单。
缺点:
- 加载时间变长了。浏览器需要接收代码,发出 JSON 请求,然后向服务器询问在该
JSON中发现的资源(如图像文件名)。
问题
根据您的经验,您认为哪一个是最佳解决方案?为什么?
【问题讨论】:
标签: web architecture mustache mustache.php