i更新
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import {readFileSync} from 'node:fs';
|
||||
import {createRequire} from 'node:module';
|
||||
import vm from 'node:vm';
|
||||
import test from 'node:test';
|
||||
const require=createRequire(import.meta.url);
|
||||
const ts=require(process.env.KEFU_SSO_TYPESCRIPT||'typescript');
|
||||
test('实际Vite代理同时接受旧前缀与标准API前缀,保留独立后端配置',async()=>{
|
||||
const source=readFileSync(new URL('../vite.config.ts',import.meta.url),'utf8');
|
||||
const code=ts.transpileModule(source,{compilerOptions:{module:ts.ModuleKind.CommonJS}}).outputText;
|
||||
for(const target of [undefined,'http://127.0.0.1:18766']) {
|
||||
const module={exports:{}};
|
||||
vm.runInNewContext(code,{module,exports:module.exports,process:{env:{VITE_API_TARGET:target}},
|
||||
require(name){assert.equal(name,'@vben/vite-config');return {defineConfig:factory=>factory};}});
|
||||
const proxy=(await module.exports.default()).vite.server.proxy['/api'];
|
||||
assert.equal(proxy.rewrite('/api/auth/login'),'/api/v2/auth/login');
|
||||
assert.equal(proxy.rewrite('/api/v2/auth/group/config'),'/api/v2/auth/group/config');
|
||||
assert.equal(proxy.rewrite('/api/v2/users?active=true'),'/api/v2/users?active=true');
|
||||
assert.equal(proxy.target,target||'http://127.0.0.1:8766');
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user