一、建立npm配置文件php
npm init
二、建立項目文件html
// 在項目根目錄建立 app.js // 項目入口文件 start.js // 項目啓動文件
三、下載依賴node
npm install koa@next --save npm install babel-core --save-dev npm install babel-polyfill --save-dev npm install babel-preset-es2015 --save-dev npm install babel-preset-stage-3 --save-dev
四、編寫文件git
// start.js require("babel-core/register")( { presets: ['stage-3','es2015'] } ); require("babel-polyfill"); require("./app.js");
換行es6
// app.js const Koa = require('koa'); const app = new Koa(); app.use(async (ctx, next) => { const start = new Date(); await next(); const ms = new Date() - start; console.log(`${ctx.method} ${ctx.url} - ${ms}ms`); }); // response app.use(ctx => { ctx.body = 'Hello Koa5555'; }); app.listen(3000);
五、啓動項目github
// 首先下載 npm install nodemon -g
換行npm
nodemon start
換行瀏覽器
打開瀏覽器,訪問頁面
六、文檔:
babel
koa1文檔:https://github.com/koajs/koaapp
koa2文檔(在分支中):https://github.com/koajs/koa/tree/v2.x
中國版gitbook之koa http://book.apebook.org/minghe/koa-action/xtemplate/xtemplate.html
七、其餘知識點
(1)nodemon:每次咱們的js文件修改後,node就會自動重啓,就省的咱們手動去重啓了,這樣方便了不少
(2)babel-core:當你想在代碼中運行es6代碼的話,須要安裝babel-core
(3)babel-cli:而若是你想在終端編譯es6或者是運行es6版本的REPL的話,須要安裝babel-cli
(4)babel-polyfill:模擬ES6語法習慣
(5)babel-core/register:require hook 的做用就是替換原先的require,以便在加載自動對代碼進行編譯,運行。其實這個作的即是重寫require.extensions
中對應的擴展名的加載程序,而且默認會判斷這個文件是不是node_modules
中的模塊,若是是的話,那麼將不會進行轉換。不然的話,會進行轉換。
八、嘗試中遇到的問題
(1)沒有下載安裝babel-polyfill
一、本博客中的文章摘自網上的衆多博客,僅做爲本身知識的補充和整理,並分享給其餘須要的coder,不會用於商用。
二、由於不少博客的地址看完沒有及時作保存,因此不少不會在這裏標明出處,很是感謝各位大牛的分享,也但願你們理解。