From e16101865d5178ee274e5ada8b51bfa79b216a41 Mon Sep 17 00:00:00 2001 From: alboped Date: Tue, 28 Apr 2026 06:57:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(runtime):=20=E4=BF=AE=E5=A4=8D=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E5=86=85=E8=B7=AF=E5=BE=84=E5=88=AB=E5=90=8D=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=9A=84=E6=A8=A1=E5=9D=97=E5=8A=A0=E8=BD=BD=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为 Node/PM2 增加 module-alias 运行时解析,并将本地 Prisma 服务别名改为 @db,避免与 @prisma/client 冲突,确保 Docker 启动时可正确加载 dist 模块。 Made-with: Cursor --- deploy/docker/ecosystem.config.cjs | 1 + ecosystem.config.js | 1 + package.json | 12 ++++++++++-- src/apps/client-app/auth/client-auth.service.ts | 2 +- .../chat/application/chat-session.service.ts | 2 +- tsconfig.json | 2 +- yarn.lock | 5 +++++ 7 files changed, 20 insertions(+), 5 deletions(-) diff --git a/deploy/docker/ecosystem.config.cjs b/deploy/docker/ecosystem.config.cjs index a8406e9..870c3c1 100644 --- a/deploy/docker/ecosystem.config.cjs +++ b/deploy/docker/ecosystem.config.cjs @@ -4,6 +4,7 @@ module.exports = { { name: process.env.APP_NAME, script: 'dist/main.js', + node_args: '-r module-alias/register', cwd: '/app', instances: 1, exec_mode: 'fork', diff --git a/ecosystem.config.js b/ecosystem.config.js index acdc906..b0c1cca 100644 --- a/ecosystem.config.js +++ b/ecosystem.config.js @@ -3,6 +3,7 @@ module.exports = { { name: 'chat-one-service', script: 'dist/main.js', + node_args: '-r module-alias/register', cwd: '/srv/chat-one-service/current', instances: 1, exec_mode: 'fork', diff --git a/package.json b/package.json index 6c8f469..1ba11f6 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,9 @@ "private": true, "scripts": { "build": "tsc -p tsconfig.json", - "start": "node dist/main.js", + "start": "node -r module-alias/register dist/main.js", "start:dev": "tsx watch src/main.ts", - "start:debug": "node --inspect=0.0.0.0:9229 dist/main.js", + "start:debug": "node --inspect=0.0.0.0:9229 -r module-alias/register dist/main.js", "lint": "eslint \"src/**/*.ts\"", "postinstall": "prisma generate" }, @@ -34,6 +34,7 @@ "dotenv": "^17.4.2", "helmet": "^8.1.0", "ioredis": "^5.10.1", + "module-alias": "^2.3.4", "nestjs-pino": "^4.6.1", "passport": "^0.7.0", "passport-jwt": "^4.0.1", @@ -55,5 +56,12 @@ "tsx": "^4.21.0", "typescript": "^6.0.2", "typescript-eslint": "^8.59.0" + }, + "_moduleAliases": { + "@common": "dist/common", + "@config": "dist/config", + "@apps": "dist/apps", + "@shared": "dist/apps/shared-domain", + "@db": "dist/prisma" } } diff --git a/src/apps/client-app/auth/client-auth.service.ts b/src/apps/client-app/auth/client-auth.service.ts index 5ee3592..603c18f 100644 --- a/src/apps/client-app/auth/client-auth.service.ts +++ b/src/apps/client-app/auth/client-auth.service.ts @@ -9,7 +9,7 @@ import { JwtService } from '@nestjs/jwt'; import { randomUUID } from 'crypto'; import { SmsService } from '@shared/sms/sms.service'; import { RedisService } from '@shared/cache/redis.service'; -import { PrismaService } from '@prisma/prisma.service'; +import { PrismaService } from '@db/prisma.service'; interface AccessPayload { sub: string; diff --git a/src/apps/client-app/chat/application/chat-session.service.ts b/src/apps/client-app/chat/application/chat-session.service.ts index b6bb1a3..98524fd 100644 --- a/src/apps/client-app/chat/application/chat-session.service.ts +++ b/src/apps/client-app/chat/application/chat-session.service.ts @@ -5,7 +5,7 @@ import { Injectable, NotFoundException, } from '@nestjs/common'; -import { PrismaService } from '@prisma/prisma.service'; +import { PrismaService } from '@db/prisma.service'; import { ChatMessage, ProviderUsage, diff --git a/tsconfig.json b/tsconfig.json index 36ca25a..cc27fcd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -23,7 +23,7 @@ "@config/*": ["./src/config/*"], "@apps/*": ["./src/apps/*"], "@shared/*": ["./src/apps/shared-domain/*"], - "@prisma/*": ["./src/prisma/*"] + "@db/*": ["./src/prisma/*"] }, }, "include": ["src/**/*", "prisma/**/*"], diff --git a/yarn.lock b/yarn.lock index 5a6b2f7..35a5ac1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1861,6 +1861,11 @@ minipass@^7.1.2, minipass@^7.1.3: resolved "https://registry.npmmirror.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== +module-alias@^2.3.4: + version "2.3.4" + resolved "https://registry.npmmirror.com/module-alias/-/module-alias-2.3.4.tgz#7c2b0442ba1114744e97288963db637859db4094" + integrity sha512-bOclZt8hkpuGgSSoG07PKmvzTizROilUTvLNyrMqvlC9snhs7y7GzjNWAVbISIOlhCP1T14rH1PDAV9iNyBq/w== + ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"