有人使用过javascript模板系统吗?我曾经使用嵌入了JavascriptMVC的那个,但我现在正在进行服务器端开发,所以我想要一个更简化/更薄的版本..
我发现2. 1是EJS,这是JavascriptMVC中包含的部分
另一个是Pure-你可以使用jquery
http://beebole.com/pure/index.html
有没有人有任何经验,或者还有其他我找不到的东西?也许是一个jquery类型的插件或什么..
基本上我需要在runtine的javascript中替换部分HTML文档而不需要调用服务器。
但我的html替换代码需要保存在外部文件中,而不是嵌入在js
中任何帮助真的很感激
感谢
答案 0 :(得分:2)
HAML咖啡。
结合两种最好的元语言。
答案 1 :(得分:1)
答案 2 :(得分:1)
这是在jQuery中为Smarty模板语言实现的。 http://www.balupton.com/sandbox/jquery-smarty/demo/
一个令人印象深刻的功能是支持动态更新。因此,如果更新模板变量,它将更新模板中使用该变量的任何位置。非常漂亮。
您还可以使用onchange事件挂钩变量。因此,当变量“page”改变时,执行效果或AJAX会很有用; - )
答案 3 :(得分:1)
如果您有任何机会使用jQuery框架,我可以向您推荐一个名为jQote的插件。有些人拿走了John Resig的引擎并将其打包成一个插件,这样就可以轻松地进行javascript模板操作。
http://aefxx.com/jquery-plugins/jqote
干杯!
答案 4 :(得分:1)
JQuery-HAML很好。
答案 5 :(得分:0)
Prototype Template快速而简单,如果原型是一个选项。如果你真的需要一个jQuery插件,我写了一个port of it(无耻的插件)。
答案 6 :(得分:0)
我广泛使用了EJS。来自Rails背景,它完全符合我的需求,因为它与ERB非常相似。
我推荐它。它正在积极维护,开发人员反应迅速。此外,在我运行的基准测试中,它的速度非常快。我正在将它用于iPhone / Android的移动网站。
对于其他一些人,请查看此博文:http://www.viget.com/extend/benchmarking-javascript-templating-libraries/
答案 7 :(得分:0)
这是一个独立的,定制的解决方案,我写的非常小,模仿Prototype的template system:
var templater = function(template, tokens, tokenIdentifier) {
tokenIdentifier = tokenIdentifier || "$";
// Decode HTML encoded template tokens %7B -> {, %7D -> }
template = template.replace(
new RegExp("\\" + tokenIdentifier + "%7B(\\w+)%7D", "gi"),
tokenIdentifier + "{$1}"
);
for ( var i in tokens ) {
if ( tokens.hasOwnProperty(i) ) {
template = template.replace(
new RegExp("\\"+tokenIdentifier+"\\{"+i+"\\}", "g"),
tokens[i]
);
}
}
return template;
};
用法:
templater("Hi, my name is ${name}", {name: "Bobo the Clown"});
// The token identifier defaults to $, but can be changed arbitrarily
templater("#{title} #{surname} #{verb} #{noun}", {title: "Dr.", surname: "Amazing", verb: "packed", noun: "sand"}, "#");
输出:
Hi, my name is Bobo the Clown
Dr. Amazing packed sand
答案 8 :(得分:0)
我同意Jage。
http://ejohn.org/blog/javascript-micro-templating/非常简单,实施起来很快。你不需要做大量的工作就可以获得好的结果。
答案 9 :(得分:0)
看看hacktl.js http://code.google.com/p/hacktl/。轻巧简单
答案 10 :(得分:0)
答案 11 :(得分:-1)
如果您使用Script#,可能需要考虑SharpTemplate,这是一种强类型,超高效的HTML模板引擎。