ThinkJS Adapter介紹

2021-09-17 10:24 更新

Adapter 是用來(lái)解決一類功能的多種實(shí)現(xiàn),如:支持多種數(shù)據(jù)庫(kù),支持多種模版引擎等。系統(tǒng)默認(rèn)支持的 Adapter 有:Cache,Session,WebSocket,Db,Store,Template 和 Socket

創(chuàng)建 Adapter

可以通過(guò)命令 thinkjs adapter [type]/[name] 來(lái)創(chuàng)建 Adapter,如:

thinkjs adapter template/dot

創(chuàng)建一個(gè)名為 dot 的 Template Adapter,創(chuàng)建的文件路徑為 src/common/adapter/template/dot.js。文件內(nèi)容類似如下:

export default class extends think.adapter.template {
  /**
   * init
   * @return {[]}         []
   */
  init(...args){
    super.init(...args);
  }
}

如果創(chuàng)建的類型之前不存在,會(huì)自動(dòng)創(chuàng)建一個(gè) Base 類,其他類會(huì)繼承該類。

加載 Adapter

可以通過(guò) think.adapter 方法加載對(duì)應(yīng)的 Adapter,如:

let Template = think.adapter("template", "dot"); //加載名為 dot 的 Template Adapter
let instance = new Template(...args); //實(shí)例化 Adapter

使用第三方 Adapter

加載 Adapter 時(shí),系統(tǒng)會(huì)自動(dòng)從 src/common/adapter 目錄和系統(tǒng)目錄查找對(duì)應(yīng)的 Adapter,如果引入第三方的 Adapter,需要將 Adapter 注冊(cè)進(jìn)去,否則系統(tǒng)無(wú)法找到該 Adapter。

可以通過(guò) think.adapter 方法注冊(cè)第三方的 Adapter,如:

let DotTemplate = require("think-template-dot");
think.adapter("template", "dot", DotTemplate);

將文件存放在 src/common/bootstrap/ 目錄下,這樣服務(wù)啟動(dòng)時(shí)就會(huì)自動(dòng)加載。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)