@eggjs/ 分数
基于核心插件框架 @eggjs/koa (英语)。 。 。 . 共同用途和无害环境管理 hy。 。 。 .
别直接用,你看 鸡蛋。 。 。 .
使用量
目录结构
├── package.json
├── app.ts (optional)
├── agent.ts (optional)
├── app
| ├── router.ts
│ ├── controller
│ │ └── home.ts
| ├── extend (optional)
│ | ├── helper.ts (optional)
│ | ├── filter.ts (optional)
│ | ├── request.ts (optional)
│ | ├── response.ts (optional)
│ | ├── context.ts (optional)
│ | ├── application.ts (optional)
│ | └── agent.ts (optional)
│ ├── service (optional)
│ ├── middleware (optional)
│ │ └── response_time.ts
│ └── view (optional)
| ├── layout.html
│ └── home.html
├── config
| ├── config.default.ts
│ ├── config.prod.ts
| ├── config.test.ts (optional)
| ├── config.local.ts (optional)
| ├── config.unittest.ts (optional)
│ └── plugin.ts
然后从下面的代码开始
import { EggCore as Application } from '@eggjs/core';
const app = new Application({
baseDir: '/path/to/app',
});
app.ready(() => {
app.listen(3000);
});
鸡蛋记录器
EggLoader 可以轻松地在您的文件中加载文件或目录 鸡蛋 项目. 此外,还可以自定义低等API的加载器.
构造器
- {String} BaseDir - 当前应用程序目录
- {Object} app - 彩蛋应用实例
- {Object} 插件 - 合并插件进行测试
- {logger} 日志 - 日志实例, 默认为控制台
高级APIs
自动加载
装入配置/ 插件. ts
aync 负载配置
装入配置/ 配置. ts 和配置/ { serverEnv}. ts
若为 process.env.EGG_APP_CONFIG 已存在,然后将解析并覆盖配置.
自动加载控制器
装入应用程序/控制器
async 负载中间软件
装入应用程序/中件
代理负载应用
装入应用程序/扩展/应用程序.ts
async load 文本扩展
装入app/extend/context.ts
请求删除
装入应用/扩展/请求.ts
async 负载响应扩展
装入应用/扩展/响应.ts
async 加载帮助扩展
装入app/extend/ helper.ts
async 负载 CustomApp
装入app.ts,如果app.ts导出启动类,则触发配置DidLoad
自动加载
装入代理.ts,如果代理.ts导出启动类,则触发配置DidLoad
代理负载服务
装入应用/服务
低级 API
获取ServerEnv ()
通过 serverEnv。 。 。 .
您可以通过电话直接访问 this.serverEnv 即时反应后.
| 服务器 Env | 说明 |
|---|---|
| 默认 | 默认环境 |
| 测试 | 系统集成测试环境 |
| 音标 | 生产环境 |
| 当地 | 本地环境在您的计算机上 |
| 单位测试 | 单元测试环境 |
获取数据( )
获取框架目录 。 新的框架通过延伸蛋, 然后可以使用此函数来获取所有框架.
获取损失单位( C)
负载Unit是一个可以被 EggLoader 装入的目录,因为它具有相同的结构.
此函数将获得添加负载 Units 遵循顺序 :
- 插件
- 框架
- 应用
加载单元有一个路径和一个类型。 类型必须是其中之一: 应用, (中文(简体) ), 框架, (中文(简体) ), 插件。 。 。 .
{
path: 'path/to/application',
type: 'app'
}
获取 Appname ()
获取应用程序名称 软件包.json
应用程序信息
获取应用程序的信息
- pkg: (英语)
package.json - 名称: 来自
package.json - baseDir: 当前应用程序目录
- env: 等于服务器 Env
- Home: OS的主目录
- root: 本地和单位测试时的基准定义, 其他环境时的基准定义
async 加载文件( 文件路径)
要装入一个文件 . 说明: 文件必须导出为函数 .
aync loadToApp(目录、属性、加载器选项)
从应用程序中的目录中装入文件 .
调用 this.loadToApp('$baseDir/app/controller', 'controller'),然后你可以使用它通过 app.controller。 。 。 .
aync 负载ToContext(目录、属性、加载器选项)
要从目录中装入文件, 它会被绑定上下文 .
// define service in app/service/query.ts
export default class Query {
constructor(ctx: Context) {
super(ctx);
// get the ctx
}
async get() {}
}
// use the service in app/controller/home.ts
export default async (ctx: Context) => {
ctx.body = await ctx.service.query.get();
};
async 加载Extend( 名称, 目标)
装入器app/extend/xx.ts到目标,例如,
await this.loadExtend('application', app);
装入器选项
* 帕拉姆 * 类型 * 说明 * * *
|--------------------------------------------------------------- ---------------------------------------- --- --------- ------- --------- -- -- - -- - -- -- - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - -- - - - - - - - - - - - - - - -
qq 目录 qq String/Array 要装入的目录 {}
目标 Object qq 从已装入的文件附加目标对象qq
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}对吗 String/Array 装入时匹配文件, 默认为 **/*.js(如果进程.env.EGG*TYPESCRIPT是真实的,默认为 [ '\*\*/\_.(js | ts)', '!\*_/_.d.ts' ]) (中文(简体) )
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}不理会 String/Array qq 装入时忽略文件qq
开始器 Function xq自定义文件导出, 接收两个参数, 第一个是注入对象( 如果不是 js 文件, 将是内容缓冲), 第二个是 an options 包含对象 path |
案件史蒂尔 String/Function qq 在将文件路径转换为属性列表时设置属性大小写 。 |
qq 覆盖qq Boolean 确定是否在获得同名时覆盖属性
打电话 Boolean 确定当出口为函数时是否引用 {}
注射量为: Object qq 函数引用时作为参数的对象qq
过滤器 Function qq 函数过滤可以装入的导出qq
时间安排
EggCore 记录启动进度 Timing,包括:
- 进程启动时间
- 脚本启动时间( 节点不会像
process.uptime要记录脚本开始运行时间,框架可以执行带有节点的启动前文件--require要设置的选项process.scriptTime(中文(简体) ) application start或者说agent start时间- 装入时间
require会期
开始
开始记录一个项目 。 如果项目退出,则结束旧项目并开始新的项目.
- {String} 名称 - 记录项名
- {number} [start] - 记录项开始时间,默认为 Date.now()
结束
结束一个东西.
- {String} 名称 - 尾项名
给杰森
生成所有记录项到 json
- {String} 名称 - 记录项名
- {数量} 开始 - 项目开始时间
- {数量} 结束 - 项目结束时间
- {数目} 持续时间 - 项目持续时间
- {数目} pid - pid
- {编号}索引-项目索引
问题和建议
请打开一个问题 这里。 。 。 .
许可证
贡献者
制造的 贡献者-img。 。 。 .