Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫進(jìn)行日期格式化的實現(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 將庫方法傳遞給模板。下面是一個例子:
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 方法對文章發(fā)布時間進(jìn)行了格式化處理,最終展示為 YYYY-MM-DD HH:mm:ss 格式的日期字符串。
注意:在模板文件中需要正確引入 silly-datetime 庫,否則無法使用 formatDate 函數(shù)。
補充說明:silly-datetime 庫的原始用法為:
const sd = require('silly-datetime'); sd.format(new Date(), 'YYYY-MM-DD HH:mm:ss');//此處的new Date()位置可以傳入其他日期格式參數(shù)
對應(yīng)的,在app.js中定義該函數(shù)給EJS模版使用,則對應(yīng)形式為:
? res.locals.formatDate = function (date, fmt) { ? ? return sd.format(date, fmt); ? };
相應(yīng)的,EJS模版中使用該函數(shù),則是需要通過locals來調(diào)用定義的formatDate方法,再傳入對應(yīng)位置的參數(shù)即可:
locals.formatDate(articles[i].created_at, 'YYYY-MM-DD HH:mm:ss')
該方法經(jīng)筆者測試可以正常使用。
- node.js+express+mySQL+ejs+bootstrop實現(xiàn)網(wǎng)站登錄注冊功能
- node.js平臺下利用cookie實現(xiàn)記住密碼登陸(Express+Ejs+Mysql)
- 零基礎(chǔ)搭建Node.js、Express、Ejs、Mongodb服務(wù)器及應(yīng)用開發(fā)入門
- express框架通過ejs模板渲染輸出頁面實例分析
- nodejs中的express-jwt的使用解讀
- NodeJS?Express使用ORM模型訪問關(guān)系型數(shù)據(jù)庫流程詳解
- NodeJs Express框架操作MongoDB數(shù)據(jù)庫執(zhí)行方法講解
- NodeJs?Express路由使用流程解析
- NodeJs Express中間件使用流程解析
- express框架+bootstrap美化ejs模板實例分析
相關(guān)文章
Node.js入門教程:在windows和Linux上安裝配置Node.js圖文教程
這篇文章主要介紹了Node.js入門教程:在windows和Linux上安裝配置Node.js的方法,本文圖文并茂,步驟明細(xì),是學(xué)習(xí)安裝node.js的絕佳教程,需要的朋友可以參考下2014-08-08nodejs做個爬蟲爬取騰訊動漫內(nèi)容簡單實現(xiàn)
這篇文章主要為大家介紹了nodejs做個爬蟲爬取騰訊動漫內(nèi)容簡單實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07詳解NodeJs項目 CentOs linux服務(wù)器線上部署
這篇文章主要介紹了NodeJs項目 CentOs linux服務(wù)器線上部署,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09Node.js實現(xiàn)批量替換文件內(nèi)容示例
這篇文章主要為大家介紹了Node.js實現(xiàn)批量替換文件內(nèi)容示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08Node.js中MongoDB更新數(shù)據(jù)的兩種方法
本文主要介紹了Node.js中MongoDB更新數(shù)據(jù)的兩種方法,主要包括使用原生的 MongoDB 驅(qū)動程序或者使用 Mongoose 來更新 MongoDB 數(shù)據(jù),2023-12-12node.js平臺下利用cookie實現(xiàn)記住密碼登陸(Express+Ejs+Mysql)
這篇文章主要介紹了node.js平臺下利用cookie實現(xiàn)記住密碼登陸(Express+Ejs+Mysql),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04