摘要:接前一篇,阿里初體驗(yàn)一我們繼續(xù)我們的之旅。注意到,目錄里和兩個(gè)文件夾,這里也是我們編寫(xiě)業(yè)務(wù)邏輯的主要地方。用于解析用戶的輸入,處理后返回相應(yīng)的結(jié)果。在使用導(dǎo)出的模塊時(shí),需要把導(dǎo)出的模塊名改為駝峰標(biāo)準(zhǔn),且首字母變?yōu)樾?xiě)。
接前一篇,阿里egg.js初體驗(yàn)(一) 我們繼續(xù)我們的egg之旅。
我們已經(jīng)完成了對(duì)于項(xiàng)目結(jié)構(gòu)的搭建,現(xiàn)在我們需要開(kāi)始業(yè)務(wù)的編寫(xiě)。
注意到,目錄里controller和service兩個(gè)文件夾,這里也是我們編寫(xiě)業(yè)務(wù)邏輯的主要地方。
controller:用于解析用戶的輸入,處理后返回相應(yīng)的結(jié)果。
service:用于編寫(xiě)業(yè)務(wù)邏輯層,可以復(fù)用。
假設(shè)我們現(xiàn)在完成調(diào)用一個(gè)git rest api的二次開(kāi)發(fā)工具,主要內(nèi)容包括
查看用戶參與的項(xiàng)目,新建一個(gè)項(xiàng)目,管理項(xiàng)目人員等等。
根據(jù)需求,service里我們需要直接調(diào)用git的api,顯然,就是需要一個(gè)curl的類型功能,egg提供了一個(gè)curl,它是通過(guò)對(duì)context類對(duì)擴(kuò)展實(shí)現(xiàn)的,這樣在
service里,我們可以直接通過(guò)如下方式訪問(wèn)一個(gè)git rest api:
const { data: idList } = await this.ctx.curl(`${gitUrl}/users`, { data: { id: ""$id"", }, dataType: "json", });
這樣我們就把用戶列表設(shè)置到idList里。
下一步我們需要在controller調(diào)用這個(gè)service:
const userList = await ctx.service.git.list(id);
注意,egg中,所有模塊之間的調(diào)用,都是通過(guò)名字來(lái)調(diào)用的,如果我們把之前的service導(dǎo)出為:
module.exports = Git;
那么,controller,就能通過(guò)this.ctx.service.git.methodName()來(lái)訪問(wèn)到對(duì)應(yīng)的service里的方法了。在使用導(dǎo)出的模塊時(shí),需要把導(dǎo)出的模塊名改為駝峰標(biāo)準(zhǔn),且首字母變?yōu)樾?xiě)。
回到controller中,
我們可以把獲取到的數(shù)據(jù)放到render的中進(jìn)行渲染,然后把渲染后的結(jié)果發(fā)給游覽器,或者,也可以把數(shù)據(jù)直接賦值給ctx.body,然后以json方式返回。
這樣,一個(gè)簡(jiǎn)單的node應(yīng)用就算搭建完成了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107069.html
摘要:是阿里推出的基于的開(kāi)發(fā)框架,今天抽空體驗(yàn)了下,按官方教程做一個(gè)。用于解析用戶的輸入,處理后返回相應(yīng)的結(jié)果,具體參見(jiàn)。用于編寫(xiě)業(yè)務(wù)邏輯層,可選,建議使用,具體參見(jiàn)。和用于自定義啟動(dòng)時(shí)的初始化工作,可選,具體參見(jiàn)啟動(dòng)自定義。 egg.js是阿里推出的基于koa的node開(kāi)發(fā)框架,今天抽空體驗(yàn)了下,按官方教程做一個(gè)Hacker News。其實(shí)官方有腳手架提供,但是這次我們不用。 開(kāi)始之前,我...
摘要:最近微信小程序異?;鸨芏嗳嗽趯W(xué)習(xí),下面帶著大家搭建下微信小程序的調(diào)試環(huán)境,并調(diào)試入門(mén)練手項(xiàng)目通訊錄和基礎(chǔ)即可微信推薦使用的語(yǔ)言,去菜鳥(niǎo)教程簡(jiǎn)單學(xué)習(xí)下,,,即可,方便大家學(xué)習(xí)。 一、前言(坑爹的玩意) 項(xiàng)目源碼:https://github.com/saucxs/wx_... 微信小程序自從2017年,被各種看好,不過(guò)一段時(shí)間過(guò)去了還是反響平平,下半年隨著各項(xiàng)功能的開(kāi)放,很多企業(yè)...
摘要:隨著業(yè)務(wù)的爆發(fā),團(tuán)隊(duì)人數(shù)迅速增長(zhǎng)起來(lái),團(tuán)隊(duì)名也從前端開(kāi)發(fā)部改名成體驗(yàn)技術(shù)部,意在體現(xiàn)前端工程師的核心競(jìng)爭(zhēng)力用技術(shù)解決產(chǎn)品體驗(yàn)問(wèn)題。前后端分離的研發(fā)模式在社區(qū)流行起來(lái),體驗(yàn)技術(shù)部最先實(shí)踐的是基于的應(yīng)用層方案。2008 年對(duì)中國(guó)人是復(fù)雜的一年,冰災(zāi),大地震,奧運(yùn)會(huì)接踵而至。對(duì)玉伯來(lái)說(shuō)也一樣,趕在奧運(yùn)會(huì)排查臨時(shí)人口之前,玉伯從北京中科院軟件所離開(kāi),憑著自己幾年來(lái)在程序開(kāi)發(fā)上的經(jīng)歷和對(duì)新興前端行業(yè)的...
摘要:因?yàn)槠匠i_(kāi)發(fā)都是前后端分離的模式,就想著使用創(chuàng)建后臺(tái)服務(wù),寫(xiě)一套接口配合其他的項(xiàng)目。復(fù)雜數(shù)據(jù)的處理,比如要展現(xiàn)的信息需要從數(shù)據(jù)庫(kù)獲取或者是第三方服務(wù)的調(diào)用。更新用戶信息用戶信息已更改一個(gè)簡(jiǎn)單的應(yīng)用結(jié)構(gòu)就是這樣,如此便實(shí)現(xiàn)了用負(fù)責(zé)接口服務(wù)。 寫(xiě)在前面的話 最近在學(xué)習(xí)Egg.js,它是阿里推出的基于Koa的node開(kāi)發(fā)框架,為企業(yè)級(jí)框架和應(yīng)用而生。Egg.js 的官方文檔已經(jīng)很完善了,想學(xué)...
閱讀 3426·2021-11-25 09:43
閱讀 2312·2021-09-06 15:02
閱讀 3552·2021-08-18 10:21
閱讀 3350·2019-08-30 15:55
閱讀 2360·2019-08-29 17:06
閱讀 3541·2019-08-29 16:59
閱讀 973·2019-08-29 13:47
閱讀 2774·2019-08-26 13:24