app

thinkkoa类是继承自koa的:

  1. class ThinkKoa extends koa {
  2. ...
  3. }

因此thinkkoa的实例是koa实例的扩展。我们可以像使用koa一样来使用thinkkoa:

  1. const thinkkoa = require('thinkkoa');
  2. const app = new thinkkoa({
  3. rout_path: ...
  4. app_path: ...
  5. });
  6. app.use(function(ctx, next)) {
  7. ...
  8. });
  9. app.listen();

扩展属性和方法

app是koa实例的扩展,除了拥有原生的koa实例属性和方法外,ThinkKoa还扩展或者重载了以下属性:

root_path

项目根目录

  1. / //项目根目录
  2. /app
  3. /node_modules
  4. /static
  5. ...

app_path

项目app目录(项目程序执行目录)

  1. / //项目根目录
  2. /app //项目app目录(项目程序执行目录)
  3. /static
  4. ...

think_path

ThinkKoa框架目录

  1. / //项目根目录
  2. /app
  3. /node_modules/thinkkoa //ThinkKoa框架目录
  4. /static
  5. ...

app_debug

项目运行模式,为true时即开发模式,为false时即生产模式

init(options)

初始化框架参数。

use(fn)

运行koa中间件

useExp(fn)

运行express中间件

prevent()

返回一个prevent类型的错误,用于中断后续执行。该错误不会被框架作为错误处理,仅仅中断执行。

  1. return app.prevent();

isPrevent(err)

判断err是否为一个prevent类型的错误。

  1. app.isPrevent(new Errror()); // false

config([name, type = 'config'])

读取配置项。

  • name 配置项 key
  • type 配置类型,默认为项目配置。分为 config,middleware …
  1. //获取项目配置 config/config.js
  2. app.config('aa');
  3. app.config('aa.bb'); // aa: {bb: 1}
  4. //获取中间件配置 config/middleware.js
  5. app.config('config.cache', 'middleware');

captureError()

框架错误拦截监听处理

listen()

自动加载框架及应用文件,并启动一个HTTP服务,并监听指定的端口。

cache()

think_cache中间件

缓存操作函数。支持 file、redis、memcache形式的存储。

详细说明