国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Express 框架中使用 EJS 模板引擎并結合 silly-datetime 庫進行日期格式化的實現方法

瀏覽:199日期:2022-06-10 10:03:46

在 Express 框架中使用 EJS 模板引擎并結合 silly-datetime 庫進行日期格式化的步驟如下:

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"); // 設置模板文件夾
app.set("view engine", "ejs"); // 設置視圖模板引擎
// 定義全局變量,模板都可以訪問到
app.use(function (req, res, next) {
? // 將 silly-datetime 的 format 方法用 locals 來代理
? res.locals.formatDate = function (date, fmt) {
? ? return sd.format(date, fmt);
? };
? next();
});
// 創建路由和功能代碼
// ...

3. 在模板文件中使用庫方法

在模板文件中,可以使用模板語法調用布局文件中定義的  formatDate 函數。具體方式如下:

<!-- 渲染數據列表 -->
<% 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 方法對文章發布時間進行了格式化處理,最終展示為 YYYY-MM-DD HH:mm:ss 格式的日期字符串。

注意:在模板文件中需要正確引入 silly-datetime 庫,否則無法使用 formatDate 函數。

補充說明:silly-datetime 庫的原始用法為:

const sd = require("silly-datetime");
sd.format(new Date(), "YYYY-MM-DD HH:mm:ss");//此處的new Date()位置可以傳入其他日期格式參數

對應的,在app.js中定義該函數給EJS模版使用,則對應形式為:

? res.locals.formatDate = function (date, fmt) {
? ? return sd.format(date, fmt);
? };

相應的,EJS模版中使用該函數,則是需要通過locals來調用定義的formatDate方法,再傳入對應位置的參數即可:

locals.formatDate(articles[i].created_at, "YYYY-MM-DD HH:mm:ss")

該方法經筆者測試可以正常使用。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 龙山县| 邹城市| 壶关县| 保山市| 湾仔区| 盐津县| 当雄县| 马关县| 原平市| 莱西市| 长丰县| 腾冲县| 柘荣县| 兰坪| 高要市| 沽源县| 泗水县| 西峡县| 静宁县| 安图县| 新化县| 黑水县| 任丘市| 吴桥县| 托克托县| 法库县| 满城县| 沙田区| 鱼台县| 乌拉特后旗| 合水县| 蒙阴县| 扎鲁特旗| 岳池县| 虎林市| 巴青县| 广西| 三门县| 洪江市| 水富县| 文登市|