forked from 77media/video-flow
83 lines
2.0 KiB
JavaScript
83 lines
2.0 KiB
JavaScript
// const BASE_URL = 'https://77.smartvideo.py.qikongjian.com'
|
||
// const BASE_URL = 'http://192.168.120.36:8000'
|
||
/** @type {import('next').NextConfig} */
|
||
const nextConfig = {
|
||
eslint: {
|
||
ignoreDuringBuilds: true,
|
||
},
|
||
images: {
|
||
unoptimized: true
|
||
},
|
||
|
||
webpack: (config, { dev, isServer }) => {
|
||
if (dev && !isServer) {
|
||
// 开发环境优化
|
||
config.optimization.splitChunks = {
|
||
chunks: 'all',
|
||
cacheGroups: {
|
||
vendor: {
|
||
test: /[\\/]node_modules[\\/]/,
|
||
name: 'vendors',
|
||
chunks: 'all',
|
||
priority: 20,
|
||
},
|
||
default: {
|
||
chunks: 'async',
|
||
minChunks: 2,
|
||
priority: 10,
|
||
reuseExistingChunk: true,
|
||
},
|
||
},
|
||
};
|
||
}
|
||
|
||
// 优化缓存配置,解决缓存错误问题
|
||
if (dev) {
|
||
config.cache = {
|
||
type: 'memory',
|
||
// 设置内存缓存大小限制(512MB)
|
||
maxGenerations: 1,
|
||
};
|
||
}
|
||
|
||
return config;
|
||
},
|
||
|
||
async rewrites() {
|
||
// 使用环境变量,如果没有则使用默认值
|
||
const BASE_URL = process.env.NEXT_PUBLIC_BASE_URL
|
||
// 用户认证后端API
|
||
const AUTH_API_URL = process.env.NEXT_PUBLIC_JAVA_URL
|
||
// const BASE_URL = 'http://192.168.120.5:8000'
|
||
return [
|
||
// Google OAuth2 回调代理
|
||
{
|
||
source: '/api/auth/google/:path*',
|
||
destination: `${AUTH_API_URL}/api/auth/google/:path*`,
|
||
},
|
||
// 其他认证相关API代理
|
||
{
|
||
source: '/api/auth/:path*',
|
||
destination: `${AUTH_API_URL}/api/auth/:path*`,
|
||
},
|
||
{
|
||
source: '/api/user/:path*',
|
||
destination: `${AUTH_API_URL}/api/user/:path*`,
|
||
},
|
||
{
|
||
source: '/api/proxy/:path*',
|
||
destination: `${BASE_URL}/:path*`,
|
||
},
|
||
{
|
||
source: '/api/resources/:path*',
|
||
destination: `${BASE_URL}/:path*`,
|
||
},
|
||
];
|
||
},
|
||
|
||
// 设置生成超时时间
|
||
staticPageGenerationTimeout: 120,
|
||
};
|
||
|
||
module.exports = nextConfig;
|