我正在尝试使用Node.js构建整个Web应用程序.是否存在类似于(例如)Django模板引擎等的模板引擎,至少允许您扩展基本模板?
我正在尝试了解javascript作为服务器端语言和函数式语言的新用法.几天前我听说过node.js和表达框架.然后我看到underscore.js作为一组实用函数.我在stackoverflow上看到了这个问题 .它说我们可以使用underscore.js作为模板引擎.任何人都知道有关如何使用underscore.js进行模板化的好教程,特别是对于那些对高级javascript经验较少的biginners.谢谢
javascript functional-programming template-engine node.js underscore.js
许多模板语言都有"slots"或"yield"语句,允许进行某种控制反转,将一个模板包装在另一个模板中.
Angular有"transclude"选项.
Rails有收益率声明.如果React.js有yield语句,它将如下所示:
var Wrapper = React.createClass({
render: function() {
return (
<div className="wrapper">
before
<yield/>
after
</div>
);
}
});
var Main = React.createClass({
render: function() {
return (
<Wrapper><h1>content</h1></Wrapper>
);
}
});
Run Code Online (Sandbox Code Playgroud)
期望的输出:
<div class="wrapper">
before
<h1>content</h1>
after
</div>
Run Code Online (Sandbox Code Playgroud)
唉,React.js没有<yield/>
.如何定义Wrapper组件以实现相同的输出?
我想在我的(Python)代码中使用Django模板引擎,但我不是在构建基于Django的网站.如何在没有settings.py文件(和其他人)的情况下使用它并且必须设置DJANGO_SETTINGS_MODULE环境变量?
如果我运行以下代码:
>>> import django.template
>>> from django.template import Template, Context
>>> t = Template('My name is {{ my_name }}.')
Run Code Online (Sandbox Code Playgroud)
我明白了:
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
Run Code Online (Sandbox Code Playgroud) 如何在python运行时获得像Jinja这样的嵌套模板.TBC我的意思是如何从基本模板继承一堆模板,只需在基本模板的块中归档,就像Jinja/django-templates一样.是否可以html/template
在标准库中使用.
如果这不可能,我的替代方案是什么.小胡子似乎是一个选项,但我会错过那些html/template
像上下文敏感的逃避等的微妙的功能?还有什么其他选择?
(环境:Google App Engin,Go runtime v1,Dev - Mac OSx lion)
谢谢阅读.
我想知道您对javascript模板引擎的看法,您认为哪一个在性能方面更好?
我找到了一些人们进行基准测试的链接:
http://jsperf.com/jquery-template-table-performance/15
http://jsperf.com/jquery-template-table-performance/8
http://www.viget.com/extend/benchmarking-javascript-templating-libraries/
好的,所以我使用Jekyll构建了一个博客,您可以在文件中定义_config.yml
可在所有模板/布局中访问的变量.我目前正在使用带有EJS模板和ejs-locals的Node.JS/Express(用于局部 /布局.我希望做一些类似于全局变量的东西,如果有人熟悉Jekyll的话.我有类似的变量网站的标题,(而不是网页标题),作者/公司名称,在我的所有网页上保持不变.site.title
_config.yml
这是我目前正在做的一个例子:
exports.index = function(req, res){
res.render('index', {
siteTitle: 'My Website Title',
pageTitle: 'The Root Splash Page',
author: 'Cory Gross',
description: 'My app description',
indexSpecificData: someData
});
};
exports.home = function (req, res) {
res.render('home', {
siteTitle: 'My Website Title',
pageTitle: 'The Home Page',
author: 'Cory Gross',
description: 'My app description',
homeSpecificData: someOtherData
});
};
Run Code Online (Sandbox Code Playgroud)
我希望能够在一个地方定义像我的网站的标题,描述,作者等变量,并让他们通过EJS我的布局/模板访问,而无需通过他们的选项,每次调用res.render
.有没有办法做到这一点,仍然允许我传递特定于每个页面的其他变量?
Velocity还是FreeMarker?
他们看起来几乎一样,甚至是语法?
用什么?还是什么时候用?
我正在寻找一个独立的,易于使用的C#代码,模板引擎.我想创建一个带有数据占位符的HTML和XML文件,并用我的代码中的数据填充它们.
引擎需要支持循环(复制模板的部分形成多于一个对象)和条件(仅当某些条件为真时才将模板的一部分添加到最终的HTML/XML).有人可以为我推荐一个好的选项,并添加一个或多或少这样的代码示例的链接,以及有关如何使用推荐的组件满足我的需求的一些文档?
我还需要使用循环来复制表行,甚至整个表(在HTML版本中)和复杂元素(在XML版本中).
Laravel中的刀片模板是否有截断修改器,非常像Smarty?
我知道我可以在模板中写出实际的php,但我正在寻找一些更好的东西来编写(让我们不进入整个PHP是模板引擎的争论).
所以例如我正在寻找类似的东西:
{{ $myVariable|truncate:"10":"..." }}
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过作曲家使用像Twig这样的东西,但我希望Laravel本身具有内置功能.
如果没有,可以创建自己的可重用修改器,如Smarty提供.我喜欢Blade不会过度使用所有语法的事实,但我认为truncate是一个非常方便的函数.
我正在使用Laravel 4.
template-engine ×10
javascript ×4
node.js ×3
blade ×1
c# ×1
composition ×1
django ×1
ejs ×1
express ×1
freemarker ×1
go ×1
java ×1
laravel ×1
mustache ×1
php ×1
python ×1
reactjs ×1
sails.js ×1
templates ×1
transclusion ×1
velocity ×1