W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
有時候項目里需要調(diào)用一些第三方的服務(wù),如:調(diào)用 Github 相關(guān)接口。如果直接在 controller 里直接調(diào)用這些接口,一方面導(dǎo)致 controller 代碼比較復(fù)雜,另一方面也不能更多進行代碼復(fù)用。
對于這些情況,可以包裝成 service 供 controller 里調(diào)用。
可以通過命令 thinkjs service [name]
來創(chuàng)建命令,具體使用請見 擴展功能 -> ThinkJS 命令 -> 添加 service。
默認(rèn)生成的 service 是一個 class,但有些 service 直接提供一些靜態(tài)方法即可,這時候可以把 class 改為對象即可。
可以通過 think.service
加載一個 service,如:
export default class extends think.controller.base {
indexAction(){
let GithubService = think.service("github");
let instance = new GithubService();
}
}
如果想跨模塊加載 service,可以通過下面的方式:
export default class extends think.controller.base {
indexAction(){
let GithubService = think.service("github", "admin"); //加載 admin 模塊下的 github service
let instance = new GithubService();
}
}
注: 如果項目不是特別復(fù)雜,建議把 service 放在
common
模塊下,可以就都可以方便的加載了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: