26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
|
|
// services/api/src/main-ov.ts —— ov-app 部署入口(P2 Task 2 骨架)。与 main-cn
|
|||
|
|
// 同库双入口:同一 services/api 代码库按部署角色装配(见 app-ov.module.ts)。
|
|||
|
|
// 复用 configureApp(全局 v1 前缀 / x-powered-by 隐藏 / CORS)——契约「路径前缀
|
|||
|
|
// 不变,部署域名区分」,ov 观众端(viewer :5175,P2 Task 10 切换 VITE_API_BASE
|
|||
|
|
// 指向本入口)与 cn viewer 共用 CORS_ORIGINS env,无需 ov 专属配置。env 一律
|
|||
|
|
// 来自进程环境(根 dotenv-cli 注入)。
|
|||
|
|
import 'reflect-metadata';
|
|||
|
|
import { NestFactory } from '@nestjs/core';
|
|||
|
|
import { type NestExpressApplication } from '@nestjs/platform-express';
|
|||
|
|
import { Logger } from 'nestjs-pino';
|
|||
|
|
import { AppOvModule } from './app-ov.module';
|
|||
|
|
import { configureApp } from './shared/configure-app';
|
|||
|
|
|
|||
|
|
async function bootstrap(): Promise<void> {
|
|||
|
|
const app = await NestFactory.create<NestExpressApplication>(AppOvModule, {
|
|||
|
|
bufferLogs: true,
|
|||
|
|
});
|
|||
|
|
app.useLogger(app.get(Logger));
|
|||
|
|
configureApp(app);
|
|||
|
|
const port = Number.parseInt(process.env.PORT_OV ?? '', 10) || 8081;
|
|||
|
|
await app.listen(port);
|
|||
|
|
app.get(Logger).log(`api-ov listening on port ${port}`);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void bootstrap();
|