From b29907c0e2a60e72d13080185f65e7bbf9c39683 Mon Sep 17 00:00:00 2001 From: Aleksi Lassila Date: Tue, 26 Mar 2024 12:55:57 +0200 Subject: [PATCH] feat: Serve frontend static files from backend --- backend/.eslintrc.js | 0 backend/package-lock.json | 32 ++++++++++++++++++++++++++++++++ backend/package.json | 1 + backend/src/app.module.ts | 11 ++++++++++- backend/src/main.ts | 1 + 5 files changed, 44 insertions(+), 1 deletion(-) mode change 100755 => 100644 backend/.eslintrc.js diff --git a/backend/.eslintrc.js b/backend/.eslintrc.js old mode 100755 new mode 100644 diff --git a/backend/package-lock.json b/backend/package-lock.json index 8b8fb5d..db492af 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -13,6 +13,7 @@ "@nestjs/core": "^10.0.0", "@nestjs/jwt": "^10.2.0", "@nestjs/platform-express": "^10.0.0", + "@nestjs/serve-static": "^4.0.1", "reflect-metadata": "^0.2.1", "rxjs": "^7.8.1", "sqlite3": "^5.1.7", @@ -1852,6 +1853,37 @@ "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, + "node_modules/@nestjs/serve-static": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@nestjs/serve-static/-/serve-static-4.0.1.tgz", + "integrity": "sha512-AoOrVdAe+WmsceuCcA8nWmKUYmaOsg9pqBCbIj7PS4W3XdikJQMtfxgSIoOlyUksZdhTBFjHqKh0Yhpj6pulwQ==", + "dependencies": { + "path-to-regexp": "0.2.5" + }, + "peerDependencies": { + "@fastify/static": "^6.5.0", + "@nestjs/common": "^9.0.0 || ^10.0.0", + "@nestjs/core": "^9.0.0 || ^10.0.0", + "express": "^4.18.1", + "fastify": "^4.7.0" + }, + "peerDependenciesMeta": { + "@fastify/static": { + "optional": true + }, + "express": { + "optional": true + }, + "fastify": { + "optional": true + } + } + }, + "node_modules/@nestjs/serve-static/node_modules/path-to-regexp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.2.5.tgz", + "integrity": "sha512-l6qtdDPIkmAmzEO6egquYDfqQGPMRNGjYtrU13HAXb3YSRrt7HSb1sJY0pKp6o2bAa86tSB6iwaW2JbthPKr7Q==" + }, "node_modules/@nestjs/testing": { "version": "10.3.5", "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.3.5.tgz", diff --git a/backend/package.json b/backend/package.json index 8492cf2..0f20da1 100644 --- a/backend/package.json +++ b/backend/package.json @@ -24,6 +24,7 @@ "@nestjs/core": "^10.0.0", "@nestjs/jwt": "^10.2.0", "@nestjs/platform-express": "^10.0.0", + "@nestjs/serve-static": "^4.0.1", "reflect-metadata": "^0.2.1", "rxjs": "^7.8.1", "sqlite3": "^5.1.7", diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts index 6551e7b..7526283 100644 --- a/backend/src/app.module.ts +++ b/backend/src/app.module.ts @@ -4,9 +4,18 @@ import { AppService } from './app.service'; import { DatabaseModule } from './database/database.module'; import { UserModule } from './user/user.module'; import { AuthModule } from './auth/auth.module'; +import { ServeStaticModule } from '@nestjs/serve-static'; +import { join } from 'path'; @Module({ - imports: [DatabaseModule, UserModule, AuthModule], + imports: [ + DatabaseModule, + UserModule, + AuthModule, + ServeStaticModule.forRoot({ + rootPath: join(__dirname, '..', '..', 'dist'), + }), + ], controllers: [AppController], providers: [AppService], }) diff --git a/backend/src/main.ts b/backend/src/main.ts index dfdeeba..678c6c7 100644 --- a/backend/src/main.ts +++ b/backend/src/main.ts @@ -4,6 +4,7 @@ import 'reflect-metadata'; async function bootstrap() { const app = await NestFactory.create(AppModule); + app.setGlobalPrefix('api'); await app.listen(3000); } bootstrap();