有没有像 c# razorengine 这样的模板引擎来对付 nodejs
Is there a template engine like c# razorengine for nodejs
是否有像 razorengine 这样专门用于输出 html 但不限于 html 的 nodejs 模板引擎。所以我也可以像使用 RazorEngine 一样动态创建 JavaScript 文件?
我希望能够做的一个例子:
var fs = require('fs');
var engine = require('templatingEngine');
var template = "<p>Hello, <% name %></p>";
var data = [
{id:"1", name: "bob"},
{id:"2", name: "pete"},
{id:"3", name: "jake"}
];
var result = engine.parse(template, data);
fs.writeFile("/tmp/hellos.html", result, function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
hellos.html ==>
<p>Hello, bob</p>
<p>Hello, pete</p>
<p>Hello, jake</p>
一般来说,只有少数视图引擎(如 Jade)主要针对生成标记。大多数人会使用某种形式的嵌入式语句 - 类似于Razor的@...
,例如胡子的{{...}}
- 来支持模板化任何所需的文本内容。
而且,通常与请求/响应的任何耦合都将由http
框架的一部分创建。例如,使用Express(参考:应用程序设置,app.engine()
):
app.set('view engine', 'jade');
app.engine('html', require('ejs').renderFile);
确切的 API 可能因视图引擎而异。但是,使用车把,您可以做到:
var handlebars = require('handlebars');
var template = "{{#each this}}<p>Hello, {{name}}</p>{{/each}}";
var compiledTemplate = handlebars.compile(template);
var data = [
{id:"1", name: "bob"},
{id:"2", name: "pete"},
{id:"3", name: "jake"}
];
var result = compiledTemplate(data);
而且,对于视图引擎的样本,consolidate
项目列出了大约 20 个。
是的,它被称为 razorjs,可以在 github
你已经有了AngularJS(和其他基于javascript的引擎),你可以在angularJS中渲染数据,然后将其推送到httpresponse。 它是为客户端设计的,但有一些柚木,它也可以在JavaScript服务器端工作。
相关文章:
- nodejs-expressjs上传图像并显示它们
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 谷歌文档表面引擎
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- NodeJS日期格式不起作用
- Nested Q.all nodejs
- Nodejs API控制器,用于在API之间切换
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- 如何在 nodejs 中包含 liquidfun 物理引擎
- 有没有像 c# razorengine 这样的模板引擎来对付 nodejs
- NodeJS/Express:使用 Bliss 作为模板引擎时出错
- 在Javascript中的NodeJS/上是否实现了任何规则引擎
- 如何将数据从mongodb(使用mongodb模块)传递到nodejs视图(使用临时引擎jade)
- 无法访问托管在谷歌计算引擎上的NodeJS Express应用程序
- 在nodejs中开发报表引擎
- NodeJS中是否有任何报告引擎(如java中的JasperReport)
- 带有Express和Handlebars的NodeJs.引擎未定义