繁体   English   中英

客户端和服务器端呈现的模板语言

[英]Templating language for both client-side and server-side rendering

我正在调查JavaScript模板,以此来呈现我们的观点。 目标是能够为已启用JavaScript的用户呈现客户端,以便为那些没有启用JavaScript的用户(和爬虫)呈现相同的模板/数据服务器端。

要求

  1. 客户端渲染。
  2. 服务器端呈现(JVM支持一个很好的)。
  3. 对循环,条件,文本操作,部分,宏和扩展/插件的合理支持。
  4. 合理的大/活跃用户社区。

到目前为止找不到令人满意的解决方案

  1. Mustache :支持服务器和客户端呈现,大/活动社区,但“无逻辑”模板似乎非常严格和痛苦。
  2. Node.js下划线 :像下划线这样的JS模板提供了我需要的所有模板灵活性,但是使用Node.js在服务器端渲染它们非常脆弱。 node.js是新的并且相当不稳定,它的包管理(导出...)需要大量的黑客才能使事情正常工作。
  3. 谷歌闭包模板 :这些模块编译成JS和Java,并具有我想要的许多功能。 遗憾的是,浏览Google群组时,似乎缺少许多基本功能(例如循环关联数组的能力)以及制作自己的插件文档非常稀疏且令人痛苦。 此外,我不知道在线社区中有谁在使用它,谷歌不接受开源贡献,而且他们没有带宽来发布新功能。
  4. 同位素 :在JS中编写模板,并使用Johnson (Mozilla SpiderMonkey JS运行时的Ruby包装器)来渲染这些模板服务器端。 似乎很有希望,但该项目在6个多月内没有提交。
  5. Liquid with Liquid.js :Liquid模板语言看起来很棒,但liquid.js项目似乎未经测试(在IE中没有测试!),没有文档,不清楚是否有人使用它,并且它还没有更新等一下。

使用EJS 它几乎得到了你提出的所有功能。

它可以与开箱即用的express.js一起使用,并且在客户端上运行良好。

作为奖励,我会使用backbone.js在客户端和服务器上执行MVC。

当然这确实依赖于node.js. 我觉得使用express,now&backbone可以让你用node.js进行很多稳定的控制。 更不用说SSJS简直太棒了,重复使用代码非常棒。

我们最终选择了dust.js。 查看保留JSP中的JSP客户端模板抛出以获取更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM