Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫(kù)進(jìn)行日期格式化的實(shí)現(xiàn)方法 原創(chuàng)
在 Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫(kù)進(jìn)行日期格式化的步驟如下:
1. 安裝 silly-datetime 庫(kù)
可以通過(guò) npm 命令安裝 silly-datetime 庫(kù),命令為:
npm install silly-datetime --save
2. 在 app.js 中配置模板引擎和使用庫(kù)方法
在 app.js 文件中,需要配置使用 EJS 模板引擎,并使用 res.locals 將庫(kù)方法傳遞給模板。下面是一個(gè)例子:
const express = require('express');
const app = express();
const sd = require('silly-datetime');
// 模板引擎配置
app.set('views', __dirname + '/views'); // 設(shè)置模板文件夾
app.set('view engine', 'ejs'); // 設(shè)置視圖模板引擎
// 定義全局變量,模板都可以訪(fǎng)問(wèn)到
app.use(function (req, res, next) {
? // 將 silly-datetime 的 format 方法用 locals 來(lái)代理
? res.locals.formatDate = function (date, fmt) {
? ? return sd.format(date, fmt);
? };
? next();
});
// 創(chuàng)建路由和功能代碼
// ...3. 在模板文件中使用庫(kù)方法
在模板文件中,可以使用模板語(yǔ)法調(diào)用布局文件中定義的 formatDate 函數(shù)。具體方式如下:
<!-- 渲染數(shù)據(jù)列表 -->
<% for(var i=0; i<articles.length; i++) { %>
? <tr>
? ? <td><%= articles[i].title %></td>
? ? <td><%= locals.formatDate(articles[i].created_at, 'YYYY-MM-DD HH:mm:ss') %></td>
? </tr>
<% } %>以上模板代碼將使用 silly-datetime 的 format 方法對(duì)文章發(fā)布時(shí)間進(jìn)行了格式化處理,最終展示為 YYYY-MM-DD HH:mm:ss 格式的日期字符串。
注意:在模板文件中需要正確引入 silly-datetime 庫(kù),否則無(wú)法使用 formatDate 函數(shù)。
補(bǔ)充說(shuō)明:silly-datetime 庫(kù)的原始用法為:
const sd = require('silly-datetime');
sd.format(new Date(), 'YYYY-MM-DD HH:mm:ss');//此處的new Date()位置可以傳入其他日期格式參數(shù)對(duì)應(yīng)的,在app.js中定義該函數(shù)給EJS模版使用,則對(duì)應(yīng)形式為:
? res.locals.formatDate = function (date, fmt) {
? ? return sd.format(date, fmt);
? };相應(yīng)的,EJS模版中使用該函數(shù),則是需要通過(guò)locals來(lái)調(diào)用定義的formatDate方法,再傳入對(duì)應(yīng)位置的參數(shù)即可:
locals.formatDate(articles[i].created_at, 'YYYY-MM-DD HH:mm:ss')
該方法經(jīng)筆者測(cè)試可以正常使用。
- node.js+express+mySQL+ejs+bootstrop實(shí)現(xiàn)網(wǎng)站登錄注冊(cè)功能
- node.js平臺(tái)下利用cookie實(shí)現(xiàn)記住密碼登陸(Express+Ejs+Mysql)
- 零基礎(chǔ)搭建Node.js、Express、Ejs、Mongodb服務(wù)器及應(yīng)用開(kāi)發(fā)入門(mén)
- express框架通過(guò)ejs模板渲染輸出頁(yè)面實(shí)例分析
- nodejs中的express-jwt的使用解讀
- NodeJS?Express使用ORM模型訪(fǎng)問(wèn)關(guān)系型數(shù)據(jù)庫(kù)流程詳解
- NodeJs Express框架操作MongoDB數(shù)據(jù)庫(kù)執(zhí)行方法講解
- NodeJs?Express路由使用流程解析
- NodeJs Express中間件使用流程解析
- express框架+bootstrap美化ejs模板實(shí)例分析
相關(guān)文章
pm2工具在Node.js開(kāi)發(fā)部署中的重要作用詳解
這篇文章主要為大家介紹了pm2工具在Node.js開(kāi)發(fā)部署中的重要作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Express + Session 實(shí)現(xiàn)登錄驗(yàn)證功能
本文主要介紹在 Express 框架中,如何使用 Session 來(lái)實(shí)現(xiàn)用戶(hù)登錄身份驗(yàn)證。對(duì)express session實(shí)現(xiàn)登錄驗(yàn)證相關(guān)知識(shí),感興趣的朋友一起看看吧2017-09-09
Node.js實(shí)現(xiàn)批量去除BOM文件頭
這篇文章主要介紹了Node.js實(shí)現(xiàn)批量去除BOM文件頭,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12
node.js cookie-parser之parser.js
這篇文章主要介紹node.js cookie-parser之parser.js,講解的比較詳細(xì),需要的朋友可以參考下。2016-06-06
Node.js?實(shí)現(xiàn)簡(jiǎn)單爬蟲(chóng)的示例代碼
本文主要介紹了Node.js?實(shí)現(xiàn)簡(jiǎn)單爬蟲(chóng),爬取美食網(wǎng)站的菜品標(biāo)題和圖片鏈接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Nodejs使用fs-extra模塊進(jìn)行目錄和文件操作用法示例
fs-extra模塊是基于fs?的文件操作相關(guān)工具庫(kù),封裝了一些fs實(shí)現(xiàn)起來(lái)相對(duì)復(fù)雜的工具,下面這篇文章主要給大家介紹了關(guān)于Nodejs使用fs-extra模塊進(jìn)行目錄和文件操作用法的相關(guān)資料,需要的朋友可以參考下2024-06-06

