阿里Egg簡介

egg簡介

開發(fā)模式

  • 漸進式開發(fā)

歷史

  • 2011 年的就已經(jīng)開始在生產(chǎn)環(huán)境中使用Node。

  • 2013 年螞蟻的 chair 框架拗踢,可以視為 egg 的前身腕窥。

  • 2016 年初怯伊,各 BU 的基礎 web 框架完成升級肆糕,在同一套規(guī)范的基礎上進行差異化定制吊档。

  • 2016 年中篙议,廣泛使用在絕大部分阿里的前端 Node.js 應用

  • 2017 年初,官網(wǎng)文檔 egg - 為企業(yè)級框架和應用而生 亮相,并將在本月發(fā)布 egg@1.0 版.

  • 螞蟻金服鬼贱,天貓移怯,UCWeb,村淘这难,神馬等 BU 的業(yè)務場景千差萬別舟误,但他們的基礎框架都是在egg之上擴展的
    知乎

egg2

  • Egg 的插件機制有很高的可擴展性,一個插件只做一件事(比如 Nunjucks 模板封裝成了 egg-view-nunjucks姻乓、MySQL 數(shù)據(jù)庫封裝成了 egg-mysql)嵌溢。Egg 通過框架聚合這些插件,并根據(jù)自己的業(yè)務場景定制配置蹋岩,這樣應用的開發(fā)成本就變得很低赖草。

  • Egg 奉行『約定優(yōu)于配置』,按照一套統(tǒng)一的約定進行應用開發(fā)星澳,團隊內(nèi)部采用這種方式可以減少開發(fā)人員的學習成本疚顷,開發(fā)人員不再是『釘子』,可以流動起來禁偎。沒有約定的團隊腿堤,溝通成本是非常高的,比如有人會按目錄分棧而其他人按目錄分功能如暖,開發(fā)者認知不一致很容易犯錯笆檀。但約定不等于擴展性差,相反 Egg 有很高的擴展性盒至,可以按照團隊的約定定制框架酗洒。使用 Loader 可以讓框架根據(jù)不同環(huán)境定義默認配置,還可以覆蓋 Egg 的默認約定枷遂。

基于koa2

  • 異步編程模型_async&await function

      通過同步方式編寫異步代碼帶來的另外一個非常大的好處就是異常處理非常自然樱衷,使用 try catch 就可以將按照規(guī)范編寫的代碼中的所有錯誤都捕獲到。
    
  • Middleware_洋蔥圈模式

      所有的請求經(jīng)過一個中間件的時候都會執(zhí)行兩次酒唉,對比 Express 形式的中間件矩桂,Koa 的模型可以非常方便的實現(xiàn)后置處理邏輯
    
  • context

      Context 作為請求的上下文對象,request痪伦、response以及參數(shù)處理結(jié)果都掛在上面侄榴。同樣我們可以將一次請求相關(guān)的上下文都掛載到這個對象上。需要貫穿整個請求(在后續(xù)任何一個地方進行其他調(diào)用都需要用到)的屬性就可以掛載上去网沾。
    

內(nèi)置功能

  • power-assert |測試

  • Mocha |測試

  • HttpClient

  • Cookie 與 Session

  • egg-cluster |多進程與進程守護

插件機制

github插件庫

  • 內(nèi)置企業(yè)級插件

    • onerror |錯誤處理

    • session |會話

    • i18n |國際化

    • watcher |文件監(jiān)控

    • multipart |文件接收

    • security |安全

    • development |開發(fā)

    • logrotator |日志整理

    • schedule |定時事物

    • static |靜態(tài)資源服務

    • jsonp |跨域

    • view |MVC架構(gòu)的V

  • 生態(tài)插件庫

    • egg-mongoose |MongooDB

    • egg-mongodb-native |MongooDB

    • egg-mysql |mysql

    • egg-redis

    • egg-oss |OSS

    • egg-bodyparser |body解析器

    • egg-RESTfulAPI |restfulAPI

    • egg-grpc |通信服務

    • egg-egg-cors |跨域資源共享

    • egg-egg-userrole |授權(quán)

    • egg-passport |認證

    • egg-passport-local |認證

    • egg-nunjucks |模板

    • egg-vue-webpack-dev

    • egg-view-vue

    • egg-view-vue-ssr

    • egg-socket_io |即時通信

    • egg-Dingtalk |釘釘

    • egg-Dingtalk-robot

    • egg-wechat-API |微信

    • egg-weapp-sdk |微信

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末癞蚕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辉哥,更是在濱河造成了極大的恐慌桦山,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異度苔,居然都是意外死亡匆篓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門寇窑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸦概,“玉大人,你說我怎么就攤上這事甩骏〈笆校” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵饮笛,是天一觀的道長咨察。 經(jīng)常有香客問我,道長福青,這世上最難降的妖魔是什么摄狱? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮无午,結(jié)果婚禮上媒役,老公的妹妹穿的比我還像新娘。我一直安慰自己宪迟,他們只是感情好酣衷,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著次泽,像睡著了一般穿仪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上意荤,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天啊片,我揣著相機與錄音,去河邊找鬼玖像。 笑死钠龙,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的御铃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沈矿,長吁一口氣:“原來是場噩夢啊……” “哼上真!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起羹膳,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤睡互,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體就珠,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡寇壳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了妻怎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壳炎。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖逼侦,靈堂內(nèi)的尸體忽然破棺而出匿辩,到底是詐尸還是另有隱情,我是刑警寧澤榛丢,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布铲球,位于F島的核電站,受9級特大地震影響晰赞,放射性物質(zhì)發(fā)生泄漏稼病。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一掖鱼、第九天 我趴在偏房一處隱蔽的房頂上張望然走。 院中可真熱鬧,春花似錦锨用、人聲如沸丰刊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啄巧。三九已至,卻和暖如春掌栅,著一層夾襖步出監(jiān)牢的瞬間秩仆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工猾封, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留澄耍,地道東北人。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓晌缘,卻偏偏與公主長得像齐莲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子磷箕,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,085評論 25 707
  • 女孩走過我身邊选酗,定在遠處回頭一望,滿臉的焦躁岳枷,我的心快碎了…… 其實我并不認識女孩芒填,而女孩卻認識我呜叫。要不為何我每次...
    零凝閱讀 448評論 10 4