Node.js Express.js博客应用程序—;格式化日期
我正在学习Node.js/Express.js,作为一个实验,我正在尝试构建一个小型博客应用程序 我呈现页面,传递文章:Node.js Express.js博客应用程序—;格式化日期,node.js,express,momentjs,Node.js,Express,Momentjs,我正在学习Node.js/Express.js,作为一个实验,我正在尝试构建一个小型博客应用程序 我呈现页面,传递文章: response.render('index.jade', { title: 'Blog' , locals: { articles: articles } }); 这是我的翡翠模板: h1= title section h1 Articles ul each article in articles li a(hr
response.render('index.jade', {
title: 'Blog'
, locals: {
articles: articles
}
});
这是我的翡翠模板:
h1= title
section
h1 Articles
ul
each article in articles
li
a(href='/article/' + article.slug)= article.title
span at #{article.created_at}
这将显示包含标题和日期的文章列表。但是,我需要一种将日期格式化为更可读格式的方法。我发现了允许您这样做的库,但我真正的问题是如何将其集成到我的模板中?我可以将moment模块传递给模板并在那里内联设置日期格式,也可以在route中设置日期格式并将其添加到
article
对象中。您将如何做到这一点?如果您想要更少、更干净的代码,我会选择添加到模板中。如果需要性能,请在路由本身中格式化它。我的应用程序中有以下帮助程序:
date: function (date) {
return moment(date).format('YYYY/MM/DD HH:mm:ss');
},
fromNow: function(date) {
return moment(date).fromNow();
}
这可能取决于您的应用程序,但我认为没有必要在我的网站上使用不同的日期格式。将其作为本地模板传递似乎有点奇怪。这完全正常吗?我使用
app.locals将下划线库传递给模板。使用不会有太多性能问题。但是,如果只有少数(2-3)个地方需要这样做,那么就在路由器中进行格式化。如何进行内联格式化?插值导致“意外标识符”错误({moment(article.created_at).format('MMM Do'YY');}
)。span='at'+moment(article.created_at).format('MMM Do'YY')