主程序

@halsp/core 导出一个类 Startup,作为主程序对象,每种运行环境都会在此类中添加实例方法

你可以在这个主程序对象添加插件和中间件

文档中的 startup 均表示主程序实例对象,但并不特指运行环境

为了让 halsp 能够在各类环境中使用,Startup 类设计的较为开放,本身仅包含基本中间件功能

因此该类一般不会直接使用,需要配合相关运行环境插件

运行环境

Halsp 提供了多种运行环境

目前已支持的运行环境参考 运行环境介绍

启动文件

src 下需要有 index.tsmain.ts 文件作为入口,此规则用于 @halsp/cli 正确解析代码,内容如

// index.ts / main.ts
import { Startup } from "@halsp/core";
import "@halsp/inject";
import "@halsp/router";
import "@halsp/native";

new Startup()
  .useNative()
  .use(async (ctx, next) => {
    ctx.res.set("mode", process.env.NODE_ENV);
    await next();
  })
  .useInject()
  .useRouter()
  .listen();

TIP

如果 src 下有 native.ts 文件,@halsp/cli 将优先以此文件为入口,一般用于特殊情况的本地调试

中间件

startup 提供了两个方法添加中间件

  • use 一般用于添加简单中间件,中间件是一个回调函数
  • add 用于添加类中间件,一般用于添加较复杂中间件,或需要将一系列操作封装为一个中间件

更多关于中间件的介绍,查看后面的 中间件 部分