mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-01 22:46:38 +08:00
85d5c8568c
Use React Flow controlled node state, support deleting nodes and edges, and show node properties only after selection.
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import type {NextConfig} from "next";
|
|
|
|
const isExport = process.env.NEXT_STANDALONE_EXPORT === 'true';
|
|
|
|
const nextConfig: NextConfig = {
|
|
reactCompiler: true,
|
|
// Prevent 308 redirects on /api/* trailing slashes; dev rewrites proxy legacy APIs as-is.
|
|
skipTrailingSlashRedirect: true,
|
|
experimental: {
|
|
turbopackFileSystemCacheForBuild: true,
|
|
},
|
|
...(isExport ? { output: 'export' } : {
|
|
async redirects() {
|
|
return [
|
|
{ source: '/openflare', destination: '/', permanent: true },
|
|
{ source: '/openflare/:path*', destination: '/:path*', permanent: true },
|
|
{ source: '/home', destination: '/', permanent: true },
|
|
];
|
|
},
|
|
async rewrites() {
|
|
const backendUrl = process.env.WAVELET_BACKEND_URL || 'http://localhost:3000';
|
|
return [
|
|
// 上传文件静态资源
|
|
{
|
|
source: '/f/:id',
|
|
destination: `${ backendUrl }/f/:id`,
|
|
},
|
|
// robots.txt 路由代理到后端动态接口
|
|
{
|
|
source: '/robots.txt',
|
|
destination: `${ backendUrl }/robots.txt`,
|
|
},
|
|
// 标准 RESTful API 接口
|
|
{
|
|
source: '/api/:path*',
|
|
destination: `${ backendUrl }/api/:path*`,
|
|
}
|
|
];
|
|
},
|
|
})
|
|
};
|
|
|
|
export default nextConfig;
|