typescript - Hur man får åtkomst till flera undermappar med ServeStaticModule i Nestjs?
Jag har två olika moduler för bilder av Inlägg och Profil. Så jag kan spara bilderna i två olika undermappar i tillgångar.
Min mappstruktur
Nu är problemet att jag kan komma åt bilderna i posts-mappen på Google på detta sätt http://localhost:3000/47b7a6b9c10.jpg
men när jag försöker komma åt profile-mappen med bilder som detta http://localhost:3000/93d1a567c5.png får jag en tom sida. Och kan inte se bilden.
Den nuvarande koden i app.module.ts
PostsModule,
ProfileModule,
ServeStaticModule.forRoot(
{
rootPath: join(__dirname, '..', 'assets/posts'),
},
{
rootPath: join(__dirname, '..', 'assets/profile'),
},
),
Saker som jag försökte med
1-
ServeStaticModule.forRoot({
rootPath: join(__dirname, '..', 'assets/posts'),
}),
ServeStaticModule.forRoot({
rootPath: join(__dirname, '..', 'assets/profile'),
}),
2-
ServeStaticModule.forRoot(
{
serveRoot: '/assets',
rootPath: join(__dirname, '..', '/posts'),
},
{
serveRoot: '/assets',
rootPath: join(__dirname, '..', '/profile'),
},
),
3-
ServeStaticModule.forRoot({
serveRoot: '/assets',
rootPath: join(__dirname, '..', '/posts'),
}),
ServeStaticModule.forRoot({
serveRoot: '/assets',
rootPath: join(__dirname, '..', '/profile'),
}),
Med min nuvarande kod kan jag komma åt undermappen som finns först. Om jag till exempel ersätter assets/posts med assets/profile kan jag komma åt profilbilder och vice versa
Svar #1
Jag har hittat lösningen för min specifika situation. Termen renderPath gjorde susen.
Lösning
ServeStaticModule.forRoot(
{
rootPath: join(__dirname, '..', 'assets/posts'),
renderPath: '/posts',
},
{
rootPath: join(__dirname, '..', 'assets/profile'),
renderPath: '/profile',
},
),
För att få ytterligare information om andra ServeStaticModule API SPEC-alternativ och egenskaper besök https://www.npmjs.com/package/@nestjs/serve-static
