关于ejs模板引擎数据格式化的问题
ejs 模板数据格式化问题,一直困扰了很久,网上关于类似的文章特别少,很多东西都需要自己尝试,今天在google上又搜了一下相关的文档,才终于解决,其实很简单,没有想象的复杂。
ejs 模板数据格式化问题,一直困扰了很久,网上关于类似的文章特别少,很多东西都需要自己尝试,今天在google上又搜了一下相关的文档,才终于解决,其实很简单,没有想象的复杂。
由于也是nodejs的初学者,还没有自己写框架的能力,本blog用的是nodeJs+express 的框架基础完成的,express 本身就集成了ejs,直接用就可以了。网上有这么介绍使用方法的:
按照上述方法尝试,发现总会提示 ejs 找不到,但是我的ejs是存在的,后来分析原因,可能是由于作者并没有使用express框架。废话不多说,介绍一下我的方法,和上述类似,就是有一点点区别:
1、安装 moment ,日期格式化插件,轻量级
npm install moment --save
2、app.js 中加入
//数据格式化 app.locals.myDateFormat = function(date){ return moment(date).format('HH:mm MM-DD-YYYY'); }; //字符截取 app.locals.cutMoreWords = function(str,length){ var newStr = str; if(str.length > length){ newStr = str.substring(0,length) + "..." } return newStr; };
3、前端引用:
<div class="col-md-9 col-sm-9 col-xs-12"> <h2><a href="/details/<%=item._id%>.html"><%=item.title%></a></h2> <div class="blog-des"><%-item.discription%></div> <a href="/details/<%=item._id%>" class="more">查看更多 <i class="fa fa-long-arrow-right"></i></a> <ul class="blog-info"> <li><i class="fa fa-calendar"></i> <%=myDateFormat(item.date)%></li> <li><i class="fa fa-eye"></i> <%=item.clickNum%></li> <li><i class="fa fa-tags"></i> <%=item.tags%></li> </ul> </div>
这里直接用 <%=myDateFormat(item.date)%> 来格式化数据就可以了,是不是很简单?
很赞哦! ( 0
)