feat: 自托管超分媒体 + 详情页优先清晰JPG
- 后端 main.ts: 新增 /media 静态服务(指向容器内 /app/media,由卷挂载) 配合 MEDIA_BASE_URL 指向本服务 /media,彻底脱离 jsDelivr 依赖 - 详情页 hero 优先用超分 JPG(720px),GIF/JPG 互为降级兜底
This commit is contained in:
@@ -1,9 +1,18 @@
|
||||
import { NestFactory } from '@nestjs/core';
|
||||
import { ValidationPipe } from '@nestjs/common';
|
||||
import { NestExpressApplication } from '@nestjs/platform-express';
|
||||
import { join } from 'path';
|
||||
import { existsSync, mkdirSync } from 'fs';
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create(AppModule);
|
||||
const app = await NestFactory.create<NestExpressApplication>(AppModule);
|
||||
|
||||
// 自托管媒体(超分图/动图)静态服务:/media/** -> /app/media/**
|
||||
// 容器内 /app/media 通过卷挂载服务器目录,MEDIA_BASE_URL 指向本服务 /media
|
||||
const mediaRoot = join(__dirname, '..', 'media');
|
||||
if (!existsSync(mediaRoot)) mkdirSync(mediaRoot, { recursive: true });
|
||||
app.useStaticAssets(mediaRoot, { prefix: '/media' });
|
||||
|
||||
if (process.env.CORS_ENABLED !== 'false') {
|
||||
app.enableCors();
|
||||
|
||||
Reference in New Issue
Block a user