NodeJS Express框架中渲染模板引擎
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了NodeJS Express框架中渲染模板引擎,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2052字,纯文字阅读大概需要3分钟。
内容图文
引自:浅谈 Node.js中Express框架中渲染模板引擎.
Express的模板引擎常用的是ejs和jade。它预留了变量,res.render() 是将我们的数据填充到模板后展示出完整的页面。
渲染模板
res.render(“渲染模板名称”,{带过来的数据json格式 例如content:‘31231’,title:‘dfdssd’})
把数据填充进模板,一般数据是JSON,模板是views目录下的模板文件
其中json数据不详细解释了可以是对象,数组对象…
在模板中渲染数据(变量) <%= content %>就可以在模板中设置路由中的json数据的内容
详细解释,举个例子:
-
首先 这个方法是基于res对象的用法渲染模板 res.render();
-
内部参数(“渲染模板名称(一般为ejs后缀名的模板)”,{带过来的数据json格式 例如content:‘31231’,title:‘dfdssd’})
-
在自定义框架中设置,并且抛出
在自定义框架index.js中:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/index', function(req, res, next) {
var arr=["1111111","2222222","3333333"];
res.render('index', { title: 'Express' ,list:arr});
});
module.exports = router;
-
ejs后缀名与html并无异同 按照html书写即可 他们都存在于views(模板)文件夹中
-
在views文件夹中的模板ejs文件中通过**<%=Key %>**获取到框架中渲染设置的value值 (对象{Key:value})
如果为数组按照上面方法同样获取到数组内容 只不过是数组的集合,如果要单独以数组的每个数据显示需要遍历数组
遍历数组在ejs模板文件中以js代码书写,应置于<% %>中而数组中的数据应在<%= %>渲染
如果为数组对象:
- 在index.js 自定义框架中
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/index', function(req, res, next) {
var aa=[
{title:"hello html",url:"http:www.baidu.com",time:"2017.7.13"},
{title:"hello css",url:"http:www.taobao.com",time:"2017.7.13"},
{title:"hello jquery",url:"http:www.jquery22.com",time:"2017.7.13"},
{title:"hello node.js",url:"http://www.runoob.com/",time:"2017.7.13"},
];
res.render('index', { title: 'Express' ,data:aa});
});
module.exports = router;
- 在ejs模板中:
<ul>
<% for(var i=0;i<数组.length;i++){%>
<li>
<a href="<%= data[i].url %>"> <%= data[i].title %></a><%= data[i].time %></li>
<% }%>
</ul>
它的好处就是你在写1000个页面时框架一样你只需要改变其中需要渲染的数据即可;
内容总结
以上是互联网集市为您收集整理的NodeJS Express框架中渲染模板引擎全部内容,希望文章能够帮你解决NodeJS Express框架中渲染模板引擎所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。