我有 JST 模板(用于创建 HTML 的 tpl javascript)。它通常由客户端使用(在 JS 中)。但我希望我的服务器 ruby 能够自己提出意见。 我不想重新制作 JST 模板,转换为 ruby,因为:
1) 两种语言的两次相同代码 => 更多维护/调试 2)多做两次,得到同样的结果,浪费我的时间
你会告诉我:“只需制作一个 ruby 模板”,但我不想这样做。我希望客户端自动生成 HTML。但是,作为引用,我有时需要 ruby 服务器直接渲染 HTML 而不仅仅是 JSON,所以我的问题是:
如何使用 ruby 服务器执行 JS 模板?其他解决方案?
最佳答案
有多种方法可以解决这个问题:-
1)使用 Node Server - 客户端和服务器中的通用 JS 模板 - HTML 渲染作为 JS 模板的服务
在你的服务器中,你可以使用模板名称和参数调用节点服务,例如渲染日期选择器,你可以调用 http:\localhost/datepicker/date/month/year,因为你的模板是在 JS 中,节点服务器也将能够渲染这些。参见dust.js,它的工作原理几乎类似。
2)只需维护 1 个服务器端模板,并预先填充变量名称
假设您的模板是
<div>My name is ${name}</div>
使用此模板,您可以通过提供正确的名称(如“abc”或“def”等)在服务器端进行渲染。
当客户端需要模板时,您可以发送名称参数为“$$name”的相同模板,并且在客户端 js 中您可以将 $$name 替换为正确的名称。
从而在服务器和客户端上维护相同的模板。
3)使用一些类似于谷歌关闭的解决方案
如果您在 JSP 中询问同样的事情,这是直接的解决方案,但您可以在 ruby 世界中寻找类似的事情。
关于javascript - 通过 ruby 服务器执行 javascript 模板生成 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510009/