koa技術分享

(https://cnodejs.org/user/a1511870876)

學習交流

項目同時部署在阿里云,訪問地址www.keepforward.xyz:3000gihub地址:https://github.com/a1511870876/myblog歡迎star一些學習分享,大家共同交流,地址https://github.com/a1511870876/studyFiles

寫在前面
Koa使用了ES6規范的generator和異步編程是一個更輕量級Web開發的框架,Koa 的先天優勢在于 generator。由于是我個人的分享交流,所以Node基礎、ES6標準、Web開發基礎以及Koa的"Hello World"程序都不在討論,希望各位小伙伴提出意見和指導。  
PS:Koa 內核中沒有捆綁任何中間件,但不用擔心,Koa 擁有極其強悍的拓展性,正文所有中間件都可以在npm官網下載安裝,但國內域名安裝會有一些限制,提供一個國內鏡像安裝方法,速度非常快,在直接npm模塊失敗的時候非常好用,

使用npm --registry=http://registry.npmjs.org install XXXXX –XX 命令安裝,只需要在install后面加上要安裝的中間件名稱和相應的參數即可。

一、使用Koa搭建Web項目流程
1、Koa項目創建  
個人認為不管任何框架,Web項目搭建必需的幾個方面,頁面、中間件、路由、會話和存儲、日志、靜態文件指定,以及錯誤的處理。當然,網站開發不止這些東西,還有許多主題,比如實時通訊,搜索引擎架構,權限控制,郵件優先隊列,日志記錄分析,對Web開發還剛剛入門屬于菜鳥級別,這里就不做深入的討論了。了解Express框架的小伙伴一定知道Express的部署過程,不管是通過express-generator生成還是WebStorm等編譯器直接創建,它的目錄結構大概是這樣的:
|——app.js|——bin|——node_modules|——package.json|——public|——routes|——views

*app.js,是程序啟動文件
*bin,存放執行程序  
*node_modules,存放項目依賴庫  
*package.json,是配置和一些相關信息  
*public,存放靜態文件(css,js,img)  
*routes,存放路由文件  
*views,存放前臺頁面文件

  這些結構基本包含了上述提到的Web項目搭建的要素,但是目前類似express-generator的Koa部署工具Koa-generator(非官方)并不完善并且個人測試存在些許錯誤。其實Koa-generator也是仿造上述express-generator生成的目錄,既然這樣還不如手動創建目錄來的爽快(generator-k是另一款生成器,用上去感覺還行),在根目錄新建app.js作為程序的啟動文件,創建三個文件夾分別命名public、routes和views,最后新建package.json文件存放你的項目的一些信息。完成這些創建之后,用npm命令安裝Koa,這樣的話一個基本的Koa框架就搭建好了,非常的的輕量級,

它的目錄結構如下:
|——app.js |——node_modules |——public | |——img | |——css | |——js | |——routes | |——index.js | |——user.Js | |——views | |——_layout.html | |——index.html | |——package.json Koa項目運行:node --harmony app.js 必須加 --harmony ,這樣才會支持 ES6 語法。

2、Koa日志  
日志是項目error調試和日常維護的基本手段,Koa有日志模塊Koa-logger,npm install Koa-logger后使用app.use(logger());命令程序就會在控制臺自動打印日志,當然如果你對Koa-logger的風格不滿意或者想要看到更多得信息也可以自己編輯代碼實現有自己風格的日志打印。例如:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容

  • 原文鏈接:http://www.lxweimin.com/p/6b816c609669 前傳 出于興趣最近開始研究k...
    懸筆e絕閱讀 7,237評論 1 11
  • 前傳 出于興趣最近開始研究koa2,由于之前有過一些express經驗,以為koa還是很好上手的,但是用起來發現還...
    阿_希爸閱讀 119,672評論 81 240
  • 因個人精力有限,暫停簡書的維護,歡迎大家關注我的知乎https://www.zhihu.com/people/we...
    尾尾閱讀 1,200評論 3 13
  • 法治社會,德潤人心,禮安萬邦,仁利天下。
    大濤moocer閱讀 180評論 2 0
  • 每一屆支教老師在五年級班里第一個認得的學生都是他:丁丁。 他不叫丁丁,他有一個很藏族的名字,而班里的孩子們也并不叫...
    9444e0643fbd閱讀 45評論 0 0