gpt4 book ai didi

javascript - 用于客户端和服务器端渲染的模板语言

转载 作者:行者123 更新时间:2023-12-03 02:11:08 25 4
gpt4 key购买 nike

我正在研究 JavaScript 模板作为渲染 View 的一种方式。目标是能够为启用了 JavaScript 的用户呈现客户端,并为未启用 JavaScript 的用户(和爬虫)呈现相同的模板/数据服务器端。

要求

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

目前发现的解决方案不尽如人意

  1. Mustache :支持服务器和客户端渲染,大/活跃的社区,但“无逻辑”模板似乎非常限制和痛苦。
  2. Node.jsunderscore :像 underscore 这样的 JS 模板提供了我需要的所有模板灵 active ,但是使用 Node.js 在服务器端渲染它们非常脆弱。 Node.js 是新的并且相当不稳定,它的包管理(导出...)需要大量的修改才能正常工作。
  3. Google Closure Templates :这些可以编译为 JS 和 Java,并且有很多我想要的功能。不幸的是,浏览 Google 群组,看起来缺少许多基本功能(例如 loop over associative arrays 的能力)和 documentation for making your own plugins看起来非常稀疏和痛苦。此外,我无法判断在线社区中的谁在使用它,Google 不接受对其的开源贡献,而且他们没有足够的带宽来发布新功能。
  4. isotope :用JS编写模板并使用Johnson ,Mozilla SpiderMonkey JS 运行时的 Ruby 包装器,用于在服务器端呈现这些模板。看起来很有希望,但该项目已经超过 6 个月没有提交了。
  5. LiquidLiquid.js :Liquid 模板语言看起来很棒,但是 Liquid.js 项目似乎未经测试(没有在 IE 中进行测试!),没有文档,不清楚是否有人使用它,并且已经有一段时间没有更新了。

最佳答案

使用EJS 。它几乎拥有您要求的所有功能。

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

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

当然这确实依赖于node.js。我觉得使用express、now和backbone可以让你对node.js进行很多稳定的控制。更不用说 SSJS 非常棒,而且代码重用也很棒。

关于javascript - 用于客户端和服务器端渲染的模板语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5494839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com