首页 > Web开发 > 详细

一步步学习使用node和express开发web应用(三)——使用EJS模板

时间:2015-11-18 16:33:16      阅读:321      评论:0      收藏:0      [点我收藏+]

1、EJS模板的安装和引用

在iTerm2中执行 npm  install ejs  --save

 

hello.js中引用   app.set(‘view engine‘,‘ejs‘);

 

技术分享

 

 

MyApp根目录下新建一个文件夹,取名为views,用来存放ejs模板文件。

并在views中新建一个文件default.ejs,并编写如下的代码:

技术分享

hello.js 文件中,设置视图模板的目录,并修改访问根目录的路由,使用render方法来显示default.ejs文件所描述的web页面

技术分享

 

得到的结果如下图:

 

 技术分享

2、向ejs模板传入数据

修改hello.js中的render方法,添加将要传入的数据:

技术分享

 

default.ejs模板中绑定并接受数据:

技术分享

 

得到的访问结果为:

技术分享

3、向模板传入数组数据,并通过javascript显示数组内容

向处理根路径的路由添加传入数组:

技术分享

 

在default.ejs中使用javascript代码,将传入的数组数据遍历打印到ul元素中。注意,所有的javascript代码都要用<%  %>括起来:

技术分享

 

访问后,得到的显示结果如下:

技术分享

4、引入bootstrap,及使用partials视图

在views目录下新建partials/page目录,用来存放default的子视图模板文件,并在其中创建后续将会用到的4个partials视图文件:head.ejs   header.ejs   footer.ejs   jsdefault.ejs

Head.ejs存放了网页头相关的内容,其中包含对CDN上bootstrap的css的引用:

技术分享

header.ejs将存放页面主体的头部:

技术分享

footer.ejs将存放页面主体的页脚:

技术分享 

 

Jsdefault.ejs存放着对jquerybootstrap  js文件的引用:

技术分享

 

在default.ejs的相应位置,通过include语句引用这四个partials视图:

技术分享

 

修改hello.js,使其相应根路由和/about路由,并传参数到视图:

技术分享

 

最终得到的访问结果为:

技术分享

技术分享

 

5、将变量传给所有视图的方法:使用app.locals.变量名=“

技术分享

 

上图中的pagetitle可以被任意视图引用,并展现出数据

技术分享

 

6、处理根路径路由才有的变量,在公共模板中的显示问题

由于users数组只有在访问根路由的时候才能初始化和获得值,因此在其他路由请求default.ejs模板的时候不能显示users数组的内容,因此需要在default.ejs中对能否取得users数组进行判断,然后再显示其内容

技术分享

 

得到的访问结果如下:

技术分享

 

技术分享


一步步学习使用node和express开发web应用(三)——使用EJS模板

原文:http://www.cnblogs.com/zoen/p/4974568.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!