[TOC=2,3]
Adapter 是用來解決一類功能的多種實現,如:支持多種數據庫,支持多種模版引擎等。系統默認支持的 Adapter 有:`Cache`,`Session`,`WebSocket`,`Db`,`Store`,`Template`?和?`Socket`。
## 創建 Adapter
可以通過命令?`thinkjs adapter [type]/[name]`?來創建 Adapter,如:
~~~
thinkjs adapter template/dot
~~~
創建一個名為?`dot`?的 Template Adapter,創建的文件路徑為?`src/common/adapter/template/dot.js`。文件內容類似如下:
~~~
export default class extends think.adapter.template {
/**
* init
* @return {[]} []
*/
init(...args){
super.init(...args);
}
}
~~~
如果創建的類型之前不存在,會自動創建一個 Base 類,其他類會繼承該類。
## 加載 Adapter
可以通過?`think.adapter`?方法加載對應的 Adapter,如:
~~~
let Template = think.adapter("template", "dot"); //加載名為 dot 的 Template Adapter
let instance = new Template(...args); //實例化 Adapter
~~~
## 使用第三方 Adapter
加載 Adapter 時,系統會自動從?`src/common/adapter`?目錄和系統目錄查找對應的 Adapter,如果引入第三方的 Adapter,需要將 Adapter 注冊進去,否則系統無法找到該 Adapter。
可以通過?`think.adapter`?方法注冊第三方的 Adapter,如:
~~~
let DotTemplate = require("think-template-dot");
think.adapter("template", "dot", DotTemplate);
~~~
將文件存放在?`src/common/bootstrap/`?目錄下,這樣服務啟動時就會自動加載。
- 快速入門
- 介紹
- 創建項目
- 項目結構
- 代碼規范
- 升級指南
- 進階應用
- 模塊
- 控制器
- 視圖
- 配置
- 路由
- 模型
- 介紹
- 事務
- 關聯模型
- Mysql
- MongoDB
- SQLite
- Adapter
- 介紹
- Cache
- Session
- WebSocket
- Template
- 擴展功能
- thinkjs 命令
- 靜態資源訪問
- Middleware
- Service
- Cookie
- 錯誤處理
- 錯誤信息
- 數據校驗
- 國際化
- 路徑常量
- REST API
- 定時任務
- 線上部署
- 推薦模塊
- API
- think
- think.base
- think.http.base
- http
- controller
- rest controller
- model
- model.mongo
- middleware