1. 程式人生 > >Koa2學習(一)環境搭建

Koa2學習(一)環境搭建

Koa2學習(一)環境搭建

  • koa2腳手架
  • koa2服務安裝
  • koa2-generator目錄結構

什麼是 Koa2

koa 是由 Express 原班人馬打造的,致力於成為一個更小、更富有表現力、更健壯的 Web 框架。 使用 koa 編寫 web 應用,通過組合不同的 generator,可以免除重複繁瑣的回撥函式巢狀, 並極大地提升錯誤處理的效率。koa 不在核心方法中繫結任何中介軟體, 它僅僅提供了一個輕量優雅的函式庫,使得編寫 Web 應用變得得心應手。

檢查版本

在node版本大於v7.6.0的情況下,可以直接安裝使用koa2

$ node -v
v8.9.4

要在 node < 7.6 版本的 Koa 中使用 async 方法, 官方推薦使用babel's require hook

require('babel-register');
// 應用的其餘 require 需要被放到 hook 後面
const app = require('./app');

要解析和編譯 async 方法, 你至少應該有 transform-async-to-generatortransform-async-to-module-method 外掛.

例如, 在你的 .babelrc 檔案中, 你應該有:

{
  "plugins": ["transform-async-to-generator"]
}

koa-generator

是一款快速生成koa服務的腳手架工具,和express-generator類似。
通過應用生成器工具 koa 可以快速建立一個應用的骨架。

快速安裝

全域性安裝腳手架工具:

$ npm install -g koa-generator

進入到專案資料夾目錄執行生成命令:

$ koa2 <project_name>

安裝依賴:

$ npm install

啟動服務:

$ npm start

瀏覽器瀏覽頁面:

開啟瀏覽器,輸入localhost:3000 ,在瀏覽器介面看到

此時,你已經成功跑通了第一個簡單的koa2服務

koa-generator引數

在建立專案時,有一些定製化的引數,可選引數:

-h --help 幫助

-V --version版本號

-e --ejs 新增ejs模板引擎支援(預設是jade)

--hbs 新增hbs模板引擎支援(預設是hbs)

-H --hogan 新增hogan.js支援

-c --css <engine> 新增css樣式 支援 less sass styus css(預設是css)

--git (g小寫) 新增 .gitignore

-f --force force on non-empty directory

目錄結構

│  app.js   入口檔案
│  package.json
│
├─bin
│      www  node啟動檔案
│
├─public    靜態資源
│  ├─images
│  ├─javascripts
│  └─stylesheets
│          style.css
│
├─routes
│      index.js 路由入口
│      users.js 開發者配置的路由
│
└─views 頁面層
        error.pug
        index.pug
        layout.pug

可以看到,整體頁面結構非常簡單,就是一個最最基本的服務層骨架。