Node系列-快速开始Koa2

1、创建npm配置文件

npm init

2、创建项目文件

// 在项目根目录创建
app.js   // 项目入口文件
start.js // 项目启动文件

3、下载依赖

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

4、编写文件

// start.js
require("babel-core/register")(
    {
        presets: ['stage-3','es2015']
    }
);

require("babel-polyfill");

require("./app.js");

    换行

// 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);

5、启动项目

// 首先下载
npm install nodemon  -g

    换行

nodemon start

    换行

打开浏览器,访问页面

6、文档:

    koa1文档:https://github.com/koajs/koa

    koa2文档(在分支中):https://github.com/koajs/koa/tree/v2.x

    中国版gitbook之koa  http://book.apebook.org/minghe/koa-action/xtemplate/xtemplate.html

7、其他知识点

    (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中的模块,如果是的话,那么将不会进行转换。否则的话,会进行转换。

8、尝试中遇到的问题

(1)没有下载安装babel-polyfill

Node系列-快速开始Koa2_第1张图片

免责说明

1、本博客中的文章摘自网上的众多博客,仅作为自己知识的补充和整理,并分享给其他需要的coder,不会用于商用。

2、因为很多博客的地址看完没有及时做保存,所以很多不会在这里标明出处,非常感谢各位大牛的分享,也希望大家理解。








你可能感兴趣的:(babel,nodemon,石国庆,Koa2)