Egg.js 通過 extend 實現 日期格式化


1.創建 helper 擴展方法

app/extend/helper.js

/**
 * app/extend/helper.js
 * 擴展里面引入第三方模塊
 * https://www.npmjs.com/package/silly-datetime
 * 1、yarn add silly-datetime
 * 2、var sd = require('silly-datetime');
 * 3、sd.format(new Date(), 'YYYY-MM-DD HH:mm');
 */

let sd = require('silly-datetime');

module.exports = {
  formatTime(param) {
    // this 是 helper 對象,在其中可以調用其他 helper 方法
    // this.ctx => context 對象
    // this.app => application 對象

    // 格式化日期 param -- 時間戳
    return sd.format(new Date(param*1000), 'YYYY-MM-DD HH:mm');
  },
  getHelperData() {
    return '我是helper里面的數據';
  }
};

2.在 controller 中調用

// 調用extend里面擴展的helper的方法
console.log(this.ctx.helper.getHelperData());

3.在 view 中調用

<span>---<%=helper.formatTime(list[i].dateline)%></span>

4.其他擴展

app/extend/application.js

/**
 * app/extend/application.js
 * 外部可以通過 this.app.foo() 調用
 */
module.exports = {
  foo(param) {
    // this 就是 app 對象,在其中可以調用 app 上的其他方法,或訪問屬性

    return this.config.api;
  },
};

app/extend/context.js

/**
 * app/extend/context.js
 * 外部可以通過 this.ctx.getHost() 調用
 */
module.exports = {
  getHost(param) {
    // this 就是 ctx 對象,在其中可以調用 ctx 上的其他方法,或訪問屬性

    return this.request.host;
  },
};

app/extend/request.js

// app/extend/request.js
module.exports = {
  foo() {
    return this.header.host;
  },
};

5.調用

// 調用extend里面擴展的application
console.log(this.app.foo());

// 調用extend里面擴展的ctx
console.log(this.ctx.getHost());

// 調用extend里面擴展的helper的方法
console.log(this.ctx.helper.getHelperData());

// 調用extend里面擴展的request的方法
console.log(this.ctx.request.foo());

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM