66 lines
1.6 KiB
TypeScript
66 lines
1.6 KiB
TypeScript
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import tailwindcss from 'tailwindcss';
|
|
import autoprefixer from 'autoprefixer';
|
|
import path from 'path';
|
|
import nesting from 'tailwindcss/nesting';
|
|
const isDev = process.env.NODE_ENV === 'development';
|
|
const unamiPlugin = {
|
|
name: 'html-transform',
|
|
transformIndexHtml(html: string) {
|
|
return html.replace(
|
|
'</head>',
|
|
`<script defer src="https://umami.xiongxiao.me/script.js" data-website-id="aeea5ee5-df79-4e78-8c0d-a9f26db23695"></script></head>`,
|
|
);
|
|
},
|
|
};
|
|
const plugins = [];
|
|
if (!isDev) {
|
|
plugins.push(unamiPlugin);
|
|
}
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [react(), ...plugins],
|
|
|
|
css: {
|
|
postcss: {
|
|
plugins: [
|
|
nesting, // 作用是可以使用@import导入css文件
|
|
tailwindcss,
|
|
autoprefixer,
|
|
],
|
|
},
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
define: {
|
|
DEV_SERVER: JSON.stringify(process.env.NODE_ENV === 'development'),
|
|
},
|
|
server: {
|
|
port: 6010,
|
|
host: '0.0.0.0',
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:4002',
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api/, '/api'),
|
|
},
|
|
'/api/router': {
|
|
target: 'ws://localhost:4002',
|
|
changeOrigin: true,
|
|
ws: true,
|
|
rewriteWsOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api/, '/api'),
|
|
},
|
|
'/resources': {
|
|
target: 'https://envision.xiongxiao.me',
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/resources/, '/resources'),
|
|
},
|
|
},
|
|
},
|
|
});
|