44 lines
898 B
Markdown
44 lines
898 B
Markdown
---
|
||
title: 应用 - Application
|
||
nav:
|
||
title: 教程
|
||
---
|
||
|
||
# 进阶教程
|
||
|
||
NocoBase 的 Application 的继承关系
|
||
|
||
```ts
|
||
class Application extends Koa {
|
||
|
||
}
|
||
|
||
class Koa extends EventEmitter {
|
||
|
||
}
|
||
```
|
||
|
||
Koa 和 EventEmitter 详细 API 可以查阅相关文档,就不多说了。这里主要列一些重点:
|
||
|
||
实例属性:
|
||
|
||
- app.db:数据库实例,每个 app 都有自己的 db,完全隔离。
|
||
- app.resources,数据资源实例,为数据提供 API 操作
|
||
- app.cli,commander 实例,提供命令行操作
|
||
- app.context,上下文
|
||
- app.plugins 插件
|
||
|
||
实例方法:
|
||
|
||
- app.constructor()
|
||
- app.collection()
|
||
- app.resource()
|
||
- app.command()
|
||
- app.plugin()
|
||
- app.load()
|
||
- app.start()
|
||
- app.use() 添加中间件的方法,由 Koa 提供
|
||
- app.on() 添加事件监听,由 EventEmitter 提供
|
||
- app.emit() 触发事件,由 EventEmitter 提供
|
||
- app.emitSync() 触发异步事件
|