(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的風格不滿意或者想要看到更多得信息也可以自己編輯代碼實現有自己風格的日志打印。例如: