预编译模板出现Dust.js客户端渲染问题
Dust.js client-side rendering issue with precompiled template
我正试图用预编译的dust模板测试一个简单的客户端渲染,但当我尝试渲染时,dust抱怨找不到我的模板:
[DUST WARN]: Chunk error [Error: Template Not Found: basicName] thrown. Ceasing to render this template.
我的页面如下:
<!DOCTYPE html>
<html lang="en-US">
<head>
<script type="text/javascript" src="dust-full-2.4.js"></script>
<script type="text/javascript" src="basicName.js"></script>
</head>
<body>
<div id="dustContainer"></div>
<script>
var json_payload = { "name": {
"firstName" : "Brock",
"lastName" : "Sampson"
}};
var dustContainerDiv = document.getElementById("dustContainer");
dust.render("basicName", json_payload, function(err, out) {
dustContainerDiv.innerHTML = out;
});
</script>
</body>
</html>
我的模板文件(basicName.tl(:
<p>{name.firstName}</p><p>{name.lastName}</p>
编译到此(basicName.js(:
(function(){dust.register("basicName.tl",body_0);function body_0(chk,ctx){return chk.write("<p>").reference(ctx.getPath(false, ["name","firstName"]),ctx,"h").write("</p><p>").reference(ctx.getPath(false, ["name","lastName"]),ctx,"h").write("</p>");}return body_0;})();
我已经使用客户端模板编译测试了这个相同的模板/有效负载/html,一切都很好。为了能够使用预编译的模板,我缺少了什么?
如果您仔细查看已编译的dust模板,有一行代码:
... dust.register("basicName.tl", ...
这行代码将键"basicName.tl"下的已编译模板添加到dust.cache
中。
在引擎盖下,dust.render
将尝试在dust.cache
中找到给定的模板名称
下面的代码不起作用,因为灰尘在dust.cache
:中找不到"basicName"模板
dust.render("basicName", json_payload, function(err, out) {
...
这样称呼应该有效:
dust.render("basicName.tl", json_payload, function(err, out) {
...
相关文章:
- AJAX 将数据从客户端(JS)发送到服务器(PHP)
- 如何检查当前用户电子邮件是否已在客户端js文件中验证
- 对 Drupal 站点的客户端 JS 问题进行故障排除
- Xpages:如何实现客户端JS代码的本地化
- 授权客户端JS API调用Google'的具有现有访问令牌的gap库
- 如何使用express/mongoose和客户端JS将HTML类发布到mongoDB集合中
- 如何从服务器端强制刷新客户端js
- ASP.NET MVC - 在客户端 JS 中访问 C# 字符串
- 客户端 js 获取节点.js API 调用
- 谷歌客户端.js Oauth2拒绝显示iFrame
- 如何实现Mozilla的客户端JS / HTML5 pdf查看器
- Trello - 引用客户端.js文件,无法在 Trello.authorize API 中调用类型“Success”的
- 在服务器端(PHP / MySQL)或客户端(js)排序
- 如何在nodejs的浏览器中对http GET上的客户端js文件进行模糊处理
- 将车把变量传递给客户端 js 文件
- 客户端JS:返回异步请求的串联
- 如何在nodejs中使用客户端js代码
- ExpressJS中的每个模块都有单独的客户端js
- 如何在客户端(js)和服务器(php)上获得时间戳之间的差异
- Twilio客户端JS花名册事件