fix(部署): 补齐直连前端时的 API 反代

This commit is contained in:
2026-07-03 16:44:44 +08:00
parent 51767579d7
commit 878a2d9a43
7 changed files with 71 additions and 0 deletions

View File

@@ -20,3 +20,45 @@ test('next dev keeps watch ignored entries compatible with webpack schema', () =
assert.deepEqual(ignoredList, ['**/.tmp-test/**']);
});
test('next config proxies API requests when the web container is exposed directly', async () => {
const previousTarget = process.env.NEXT_API_PROXY_TARGET;
process.env.NEXT_API_PROXY_TARGET = 'http://server:3001';
try {
const rewrites = await nextConfig.rewrites();
assert.deepEqual(rewrites, [
{
source: '/api/v1/:path*',
destination: 'http://server:3001/api/v1/:path*',
},
]);
} finally {
if (previousTarget === undefined) {
delete process.env.NEXT_API_PROXY_TARGET;
} else {
process.env.NEXT_API_PROXY_TARGET = previousTarget;
}
}
});
test('next config accepts API proxy targets that already include the API prefix', async () => {
const previousTarget = process.env.NEXT_API_PROXY_TARGET;
process.env.NEXT_API_PROXY_TARGET = 'http://server:3001/api/v1/';
try {
const rewrites = await nextConfig.rewrites();
assert.deepEqual(rewrites, [
{
source: '/api/v1/:path*',
destination: 'http://server:3001/api/v1/:path*',
},
]);
} finally {
if (previousTarget === undefined) {
delete process.env.NEXT_API_PROXY_TARGET;
} else {
process.env.NEXT_API_PROXY_TARGET = previousTarget;
}
}
});