Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫進(jìn)行日期格式化的實(shí)現(xiàn)方法 原創(chuàng)
在 Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫進(jìn)行日期格式化的步驟如下:
1. 安裝 silly-datetime 庫
可以通過 npm 命令安裝 silly-datetime 庫,命令為:
npm install silly-datetime --save
2. 在 app.js 中配置模板引擎和使用庫方法
在 app.js 文件中,需要配置使用 EJS 模板引擎,并使用 res.locals 將庫方法傳遞給模板。下面是一個(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è)置視圖模板引擎 // 定義全局變量,模板都可以訪問到 app.use(function (req, res, next) { ? // 將 silly-datetime 的 format 方法用 locals 來代理 ? res.locals.formatDate = function (date, fmt) { ? ? return sd.format(date, fmt); ? }; ? next(); }); // 創(chuàng)建路由和功能代碼 // ...
3. 在模板文件中使用庫方法
在模板文件中,可以使用模板語法調(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 庫,否則無法使用 formatDate 函數(shù)。
補(bǔ)充說明:silly-datetime 庫的原始用法為:
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ù),則是需要通過locals來調(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)用開發(fā)入門
- express框架通過ejs模板渲染輸出頁面實(shí)例分析
- nodejs中的express-jwt的使用解讀
- NodeJS?Express使用ORM模型訪問關(guān)系型數(shù)據(jù)庫流程詳解
- NodeJs Express框架操作MongoDB數(shù)據(jù)庫執(zhí)行方法講解
- NodeJs?Express路由使用流程解析
- NodeJs Express中間件使用流程解析
- express框架+bootstrap美化ejs模板實(shí)例分析
相關(guān)文章
Node.js入門教程:在windows和Linux上安裝配置Node.js圖文教程
這篇文章主要介紹了Node.js入門教程:在windows和Linux上安裝配置Node.js的方法,本文圖文并茂,步驟明細(xì),是學(xué)習(xí)安裝node.js的絕佳教程,需要的朋友可以參考下2014-08-08詳解node HTTP請(qǐng)求客戶端 - Request
Request是一個(gè)Node.jsNPM模塊,它是一個(gè)HTTP客戶端,使用簡(jiǎn)單功能確十分強(qiáng)大2017-05-05nodejs做個(gè)爬蟲爬取騰訊動(dòng)漫內(nèi)容簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要為大家介紹了nodejs做個(gè)爬蟲爬取騰訊動(dòng)漫內(nèi)容簡(jiǎn)單實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07詳解NodeJs項(xiàng)目 CentOs linux服務(wù)器線上部署
這篇文章主要介紹了NodeJs項(xiàng)目 CentOs linux服務(wù)器線上部署,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09Node.js實(shí)現(xiàn)批量替換文件內(nèi)容示例
這篇文章主要為大家介紹了Node.js實(shí)現(xiàn)批量替換文件內(nèi)容示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08nodejs對(duì)文件中的圖片進(jìn)行歸類操作示例
這篇文章主要為大家介紹了nodejs對(duì)文件中的圖片進(jìn)行歸類的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Node.js中MongoDB更新數(shù)據(jù)的兩種方法
本文主要介紹了Node.js中MongoDB更新數(shù)據(jù)的兩種方法,主要包括使用原生的 MongoDB 驅(qū)動(dòng)程序或者使用 Mongoose 來更新 MongoDB 數(shù)據(jù),2023-12-12如何使node也支持從url加載一個(gè)module詳解
這篇文章主要給大家介紹了關(guān)于如何使node也支持從url加載一個(gè)module的相關(guān)資料,文中通過示例代碼將實(shí)現(xiàn)的方法介紹非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-06-06node.js平臺(tái)下利用cookie實(shí)現(xiàn)記住密碼登陸(Express+Ejs+Mysql)
這篇文章主要介紹了node.js平臺(tái)下利用cookie實(shí)現(xiàn)記住密碼登陸(Express+Ejs+Mysql),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04