Files
aiot-platform-ui/apps/web-antd/vite.config.mts

51 lines
1.4 KiB
TypeScript
Raw Normal View History

import type { Plugin } from 'vite';
import { copyFileSync, mkdirSync } from 'node:fs';
import { createRequire } from 'node:module';
import { dirname, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';
import { defineConfig } from '@vben/vite-config';
2024-05-19 21:20:42 +08:00
/**
* / lottie-web light node_modules public/
* loading.html <script src="/lottie_light.min.js">
* ~170KB<1ms避免 mtime 粒度在部分 FS 上漏拷
*/
function copyLottiePlayer(): Plugin {
const require = createRequire(import.meta.url);
const src = require.resolve('lottie-web/build/player/lottie_light.min.js');
const dest = resolve(
dirname(fileURLToPath(import.meta.url)),
'public/lottie_light.min.js',
);
return {
name: 'web-antd:copy-lottie-player',
configResolved() {
mkdirSync(dirname(dest), { recursive: true });
copyFileSync(src, dest);
},
};
}
export default defineConfig(async () => {
return {
application: {},
vite: {
plugins: [copyLottiePlayer()],
server: {
proxy: {
2025-03-18 13:06:04 +08:00
'/admin-api': {
changeOrigin: true,
2025-03-18 13:06:04 +08:00
rewrite: (path) => path.replace(/^\/admin-api/, ''),
// mock代理目标地址
2025-03-18 13:06:04 +08:00
target: 'http://localhost:48080/admin-api',
ws: true,
},
2024-05-19 21:20:42 +08:00
},
},
},
};
2024-05-19 21:20:42 +08:00
});