koajs成长之路--koajs入门

639 阅读2分钟

       我们已经知道了Koajs是什么,那么作为新时代的少年,必须做到知其然,并知其所以然。作为一个码农,知道是什么并不重要,如何使用才是关键。还是那句话,请不要告诉我怎么做,请给我代码。

     koajs是作为一个框架,或者说是一个npm库存在,要使用它,我们必须分几步:

  1. 找到合适的文件目录,执行npm init -y ,该命令的作用是初始化package.json。

  2. 执行npm i koa ,安装koa库到本地

  3. 执行npm i @types/koa  -d ,安装koa的描述到本地。便于智能提示。

  4. 新建app.js 文件

  5. 初始化工作做好后,我们来在app.js中插入一段代码:

    const Koa = require("koa");
    const app = new Koa();
    app.use(async (ctx) => {     
       ctx.body = "hello world";
     });
    app.listen(3000);
    
  6. 执行node app.js 

  7. 打开浏览器,输入localhost:3000,我们会看到hello world的输出。

经过这一波操作,我们一个最简单的koajs 应用就跑起来了。下面我们针对这几行代码做一个简单分析:

1、const Koa=require("koa"); 引入koa 包,对于nodejs的程序员来说,太熟悉了,就是从node_modules中引入一个npm包。

2、const app=new Koa(); 初始化Koa实例。打开koajs的说明,我们可以看到

declare class Application<    StateT = Application.DefaultState,    ContextT = Application.DefaultContext> extends EventEmitter {
。。。。

export = Application;

默认导出的是一个class,因此我们必须new一个实例之后才可以使用。

3、app.use(async (ctx) => {

          ctx.body = "hello world";

   });

这段代码使用了use方法,这是koa 添加中间件的函数。至于koa中间件函数原理,可以参考官方文档。

4、app.listen(3000); 监听3000端口,这也是我们在浏览器必须输入localhost:3000来进行访问的原因。

经过这一波简单的操作,我们的一个koa小应用就跑起来了。但是我们只是看到了一个皮毛,针对koajs中的中间件函数、use方法中的async、ctx是什么类型、koajs的执行原理是什么等都被掩盖了。

这些原理搞清楚之后,我们可以自己写一个koajs的框架都不是问题。

万事都需要一个开头,我们必须建立起兴趣才能逐步的迈进。

koajs是一个代码结构非常好,具有较强参考价值的库,我们就算工作中不是用它,但是我们可以通过学习它,更好的了解async&await函数、中间件的书写方式,也可以应用到我们的日常编码中。

koajs本身并不包含中间件,所以它显得轻量,但是我们必须有书写中间件的能力,并且有查看并应用中间件的方法。

koajs成长之路将继续剖析每个技术点。