mirror of
https://github.com/2930134478/AI-CS.git
synced 2026-06-15 08:45:41 +08:00
新增mjs
This commit is contained in:
+4
-5
@@ -38,12 +38,11 @@ ENV NODE_ENV=production
|
|||||||
# 复制 package 文件(用于安装生产依赖)
|
# 复制 package 文件(用于安装生产依赖)
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
|
||||||
# 只安装生产依赖;并安装 TypeScript 供 next start 加载 next.config.ts(运行时不再尝试 npm install)
|
# 只安装生产依赖(生产环境使用 next.config.mjs,无需 TypeScript)
|
||||||
RUN npm ci --only=production && npm install typescript --no-save && npm cache clean --force
|
RUN npm ci --only=production && npm cache clean --force
|
||||||
|
|
||||||
# 从构建阶段复制必要的文件
|
# 从构建阶段复制必要的文件(使用 .mjs 配置,避免 next start 时加载 next.config.ts 触发安装 TypeScript)
|
||||||
COPY --from=builder /app/next.config.ts ./
|
COPY --from=builder /app/next.config.mjs ./
|
||||||
COPY --from=builder /app/tsconfig.json ./
|
|
||||||
COPY --from=builder /app/public ./public
|
COPY --from=builder /app/public ./public
|
||||||
COPY --from=builder /app/.next ./.next
|
COPY --from=builder /app/.next ./.next
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
* 生产用 Next 配置(纯 JS,运行时无需 TypeScript)
|
||||||
|
* 与 next.config.ts 逻辑一致,供 Docker 生产镜像使用
|
||||||
|
*/
|
||||||
|
|
||||||
|
const backendPort = process.env.NEXT_PUBLIC_BACKEND_PORT || "8080";
|
||||||
|
const backendHost = process.env.NEXT_PUBLIC_BACKEND_HOST || "localhost";
|
||||||
|
|
||||||
|
/** @type {import('next').NextConfig} */
|
||||||
|
const nextConfig = {
|
||||||
|
eslint: {
|
||||||
|
ignoreDuringBuilds: true,
|
||||||
|
},
|
||||||
|
async rewrites() {
|
||||||
|
if (process.env.NODE_ENV === "development") {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
source: "/agent/profile/:path*",
|
||||||
|
destination: `http://${backendHost}:${backendPort}/agent/profile/:path*`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: "/agent/avatar/:path*",
|
||||||
|
destination: `http://${backendHost}:${backendPort}/agent/avatar/:path*`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: "/agent/embedding-config",
|
||||||
|
destination: `http://${backendHost}:${backendPort}/agent/embedding-config`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: "/agent/ai-config/:path*",
|
||||||
|
destination: `http://${backendHost}:${backendPort}/agent/ai-config/:path*`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: "/:path((?!_next|agent|chat|favicon.ico).*)",
|
||||||
|
destination: `http://${backendHost}:${backendPort}/:path*`,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
images: {
|
||||||
|
remotePatterns: [
|
||||||
|
{
|
||||||
|
protocol: "http",
|
||||||
|
hostname: "192.168.124.9",
|
||||||
|
port: backendPort,
|
||||||
|
pathname: "/uploads/**",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
protocol: "http",
|
||||||
|
hostname: "localhost",
|
||||||
|
port: backendPort,
|
||||||
|
pathname: "/uploads/**",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
protocol: "http",
|
||||||
|
hostname: "127.0.0.1",
|
||||||
|
port: backendPort,
|
||||||
|
pathname: "/uploads/**",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default nextConfig;
|
||||||
Reference in New Issue
Block a user