好久不見(jiàn)甚是思念,拖更博主又回來(lái)了,最近呢,我看到貼吧里有個(gè)評(píng)論說(shuō),這位小朋友是這樣說(shuō)的:“我前端只能寫靜態(tài)數(shù)據(jù)渲染頁(yè)面,后端沒(méi)有接口,我無(wú)法繼續(xù)下去了,嚴(yán)重的拖慢了我的速度?!蹦敲磳?duì)于這個(gè)問(wèn)題,首先,你可以寫mock去模擬數(shù)據(jù),或者你可以去搜fastmock,更加的快捷,貼心的我會(huì)在文章的末尾給大家網(wǎng)址。那么就會(huì)有小伙伴說(shuō)了,不行,我想要復(fù)雜的邏輯操作,mock滿足不了我,所以,我就給這個(gè)小朋友推薦了egg.js。
特別聲明:此eggjs欄目是借鑒了b站的曉舟大佬的視頻進(jìn)行的文字講解,不是原創(chuàng),如果看完視頻還不是很懂的小伙伴可以來(lái)看看此欄目,我本人是非常喜歡曉舟大佬的視頻的,因?yàn)槟軐W(xué)到非常多的知識(shí),去看視頻的小伙伴,也別忘記給大佬一鍵三連。
一、首先,什么是Egg.js
Egg.js 為企業(yè)級(jí)框架和應(yīng)用而生,我們希望由Egg.js孕育出更多上層框架,幫助開(kāi)發(fā)團(tuán)隊(duì)和開(kāi)發(fā)人員降低開(kāi)發(fā)和維護(hù)成本。(這是官方的一句話,看看就行了)
ps:還是那句話,如果你是大佬,有一定的基礎(chǔ)建議直接看文檔,畢竟看視頻很浪費(fèi)時(shí)間,文檔能幫助你快速學(xué)習(xí),搭建。
二、為什么選擇egg.js
1、基于Koa,簡(jiǎn)單易上手,只用一門語(yǔ)言就可以實(shí)現(xiàn)前后端的開(kāi)發(fā)。
2、目的是了解后臺(tái)的基本概念,如果熟悉java或者php,可以不學(xué)習(xí)eggjs
三、Egg的總結(jié)
1、Egg可以開(kāi)發(fā)企業(yè)級(jí)的應(yīng)用,但是市場(chǎng)占有率并不高(java更高)。
2、我們可以通過(guò)Egg,更平滑地學(xué)習(xí)后臺(tái)的相關(guān)知識(shí)。
3、在工作中可以使用Egg模擬后臺(tái)接口。
4、通過(guò)Egg,了解后臺(tái)的工作流程(定義后臺(tái)接口數(shù)據(jù),mvc框架,orm框架,操作數(shù)據(jù)庫(kù))
5、利用Egg,獨(dú)立完成一個(gè)系統(tǒng)
四、Egg項(xiàng)目初始化
npm init egg --type=simple
1、項(xiàng)目目錄需要手動(dòng)創(chuàng)建
2、創(chuàng)建項(xiàng)目時(shí)間較長(zhǎng),請(qǐng)耐心等待
ps:至于怎么創(chuàng)建的過(guò)程,應(yīng)該是不用詳細(xì)的講了,創(chuàng)建一個(gè)空文件夾,然后輸入指令,進(jìn)行初始化,創(chuàng)建完,npm install 進(jìn)行安裝依賴,最后npm run dev進(jìn)行啟動(dòng)項(xiàng)目

點(diǎn)擊啟動(dòng)了之后的地址,你會(huì)看到頁(yè)面顯示“hi,egg”的字樣

那么這個(gè)頁(yè)面是怎么來(lái)的呢,目錄下點(diǎn)擊app文件夾,再點(diǎn)擊controller文件夾(控制器),點(diǎn)擊home.js文件,我們會(huì)看到里面有顯示在頁(yè)面上的數(shù)據(jù),我們可以修改一下,把這個(gè)原本的“hi,egg”修改為“你好egg”,然后測(cè)試一下,我們刷新頁(yè)面,會(huì)看到頁(yè)面也變成了“你好egg”

那么如何編寫控制器,下一章節(jié),我們?cè)僭敿?xì)講,接下來(lái)就是public文件夾,這個(gè)是一個(gè)靜態(tài)文件目錄,我們可以放一些,html,css,js文件。剛進(jìn)去的public文件夾肯定是空的,我們可以在這里建一個(gè)demo.html文件,稍微寫一下。

創(chuàng)建完,我們就去,頁(yè)面上瀏覽一下,在瀏覽器的路徑上,在后面加上/public/demo.html,我們就能看到剛剛寫的靜態(tài)頁(yè)面了

然后這個(gè)app目錄下還剩下一個(gè)router.js,這個(gè)文件就是路由,這章節(jié),暫時(shí)不講,但是我們能多少看到,router.get('/', controller.home.index),這個(gè)意思就是用get方法跳轉(zhuǎn)到路徑是'/',訪問(wèn)的是,controller下面的home控制器。再往下看,就是這個(gè)config目錄,這個(gè)目錄下會(huì)有兩個(gè)文件,一個(gè)是config.default.js,這個(gè)文件是用來(lái)搞一些配置,還有一個(gè)是plugin.js,是用來(lái)配置一些插件。那么剩下的一些文件呢,暫時(shí)沒(méi)有那么的重要,就不一一去講了,主要的文件是我上面說(shuō)的這幾個(gè)。
好了,那么到這里呢,本章的內(nèi)容也結(jié)束了,老規(guī)矩,要放上一首歌,這里我給大家推薦《那年初夏》,希望夏天的來(lái)臨,大家都能變得勇敢,不要有遺憾,開(kāi)開(kāi)心心的過(guò)好每一天。我們下一章再見(jiàn)。
地址傳送門:
fastmock:https://www.fastmock.site/#/login
egg.js官網(wǎng):https://www.eggjs.org/
曉舟大佬的b站:https://www.bilibili.com/video/BV1cy4y1H7iX?p=1