问题标签 [client-side-templating]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
handlebars.js - handlebars.js 是否将换行符替换为
?
尝试使用 handlebars.js 进行模板化,但该库似乎忽略了换行符。
处理换行符的正确方法是什么?是否应该在模板操作之后手动替换它们?
mustache - 客户端模板的优点是什么(类似小胡子)
为了避免编写为动态页面手动生成 HTML 的 JavaScript 代码(不仅丑陋,而且根本不 DRY),并且考虑到简单和优雅(相对于性能),使用基于字符串的优点是什么客户端上的模板,例如 Mustache.js 或 Handlebars.js,分别检索 json 数据和模板,而不是使用检索服务器端呈现的 html 片段的 REST API?
我的印象是客户端模板是在动态页面上保持简单的最佳方法,但是在使用它之后我发现维护这样的页面有点复杂,它的主要优点是更好的性能和带宽使用,这通常不是我的主要目标。
javascript - 使用 ajax 请求在客户端 javascript 模板中填充图像源 url
我正在尝试使用客户端模板库dust.js。我想使用使用 Ajax(Json 格式)从服务器检索到的值来填充“img”标签(代码中的 {profile.picUrl})的“src”属性。
问题是在进行 Ajax 调用之前,浏览器会尝试加载图像,从而导致 HTTP 404 响应(“src”包含模板占位符)。有没有办法在不向服务器发出 404 请求的情况下做到这一点?
这是一个复制问题的示例:
PS:大括号({profile.user})中的名称用于在dust.js语法中填充模板中的值
javascript - 预编译 javascript 模板
看完Mustache.js 和 Handlebars.js 有什么区别?我被一个问题迷惑了:
javascript模板的预编译是什么意思?
以前我使用的是一个简单的客户端缓存,它的工作原理是这样的:
这与我的技术有什么根本不同?
javascript - Handlebars - 获取块的不变内容
我想获得车把中块的未更改/未渲染/任何内容。所以,假设我有以下内容:
如果我有一个名为“模板”的助手,我希望能够引用原始内容块 - 而不是“编译”模板块。所以,我希望能够在<tr><td>{{name}}</td><td>{{price}}</td></tr>
没有{{name}}
和{{price}}
被“渲染”的情况下获得字符串。
现在,看起来我唯一可以访问的是“this.options.fn”,它似乎只是一个预编译的模板片段。
有没有办法做到这一点?到目前为止,我所看到的只是对编译内容的引用。
注意 - 如果甚至可以说“我真的想把它打印出来”,那也可以。例如,Smarty 中的 {literal},它将忽略所有内容,直到 {/literal}。
node.js - 如何使用dustjs-linkedin 作为客户端模板?
我得到了服务器端和客户端模板的想法,但是dust.js 让我有点困惑。
为了使用dust.js进行客户端模板,您需要三个步骤:
- 遵守模板
- 加载模板
- 渲染模板
对?
但是模板从何而来?我看到了两种不同的方法:
...它们都在 DOM 中。哪个是对的?
我还注意到您可以通过 ajax 加载模板,因此模板不会在 DOM 中看到,但我不知道该怎么做。
另外,我目前正在使用玉作为快速视图引擎。是否需要切换到dust.js?有什么好处?
html - 使用客户端模板的脚本标签,为什么我不能通过 src 属性加载?
这工作正常(我能够通过 id 访问 dom 中的片段)
但是如果我将模板放在外部资源中,我在 dom 中找不到它:
chrome 给了我一个我认为无关紧要的警告:
我正在从文件系统和/或从python -m SimpleHTTPServer
. 有任何想法吗?
http - 用于为带有标头的资产提供服务的开发服务器
我正在尝试提供可以像这样使用的模板资产:
这意味着我需要在与脚本类型一致的资产上设置标题。
有没有办法使用文件系统之外的某种开发应用服务器来做到这一点?我正在尝试构建一个工作流程,让我们的前端人员无需运行我们真正的后端即可工作。
python -m SimpleHTTPServer
除了让我为某些扩展配置标头之外,其他简单的东西会很棒。自己编写代码会很简单,但宁愿使用现有的解决方案,因为可能会有更多无法预料的问题。
javascript - django后端的客户端vs服务器端vs混合模板
我想知道是否值得转换为更通用的模板引擎,例如 mustache 或 handlebars 而不是 Django 模板。我自己看到的选项是:
- 使用 Django 模板(仅限服务器端)
- 完全转换为 Mustache/Handlebars 等
- 使用混合方法:Mustache/Handlebars 以及在适用的情况下使用 Django 模板(最丑的选项?)
尽管转换为像系统这样的 Mustache/Handlebars 为我在客户端和服务器端使用相同模板带来了灵活性,但我确实失去了 Django 模板系统提供的某些优势(例如模板继承)。
我知道有支持和反对客户端模板以及服务器端模板的激烈争论。一些人认为在繁忙的服务器上渲染 HTML 可能会使其变慢,而另一些人则认为在浏览器上从 JSON 渲染 HTML 可能会使客户端变慢。
我也知道为非 javascript 启用的设备使用服务器端 html 渲染的论点,但现在大多数设备都支持 javascript。
从 Django 模板系统转换为 Mustache/Handlebars 等是否有真实而明确的原因?
谢谢。
clojure - ClojureScript 中的模板
我想使用 ClojureScript 制作“单页”风格的网络应用程序。为此,我需要一个客户端模板系统。有人对我应该研究哪些 ClojureScript 模板系统有任何经验和/或建议吗?谢谢。