97 lines
2.5 KiB
TypeScript
97 lines
2.5 KiB
TypeScript
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import path from 'path';
|
|
import tailwindcss from '@tailwindcss/vite';
|
|
import basicSsl from '@vitejs/plugin-basic-ssl';
|
|
const isDev = process.env.NODE_ENV === 'development';
|
|
const centerEnv = process.env.CENTER_ENV;
|
|
const plugins: any[] = [basicSsl()];
|
|
plugins.push(tailwindcss());
|
|
const devBackend = 'https://kevisual.silkyai.cn';
|
|
const meBackend = 'https://kevisual.xiongxiao.me';
|
|
// const meBackend = 'https://kevisual.cn';
|
|
// const backend = isDev ? devBackend : meBackend;
|
|
const backendWss = devBackend.replace(/^https:/, 'wss:');
|
|
const backend = meBackend;
|
|
let proxy = {};
|
|
if (false) {
|
|
proxy = {
|
|
'/api': {
|
|
target: backend,
|
|
changeOrigin: true,
|
|
ws: true,
|
|
cookieDomainRewrite: 'localhost',
|
|
rewrite: (path: any) => path.replace(/^\/api/, '/api'),
|
|
},
|
|
'/user/login': {
|
|
target: backend,
|
|
changeOrigin: true,
|
|
cookieDomainRewrite: 'localhost',
|
|
rewrite: (path: any) => path.replace(/^\/user/, '/user'),
|
|
},
|
|
'/test': {
|
|
target: backend,
|
|
},
|
|
};
|
|
}
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
plugins: [react(), ...plugins],
|
|
|
|
css: {
|
|
postcss: {},
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
define: {
|
|
DEV_SERVER: JSON.stringify(process.env.NODE_ENV === 'development'),
|
|
CENTER_ENV: JSON.stringify(centerEnv),
|
|
},
|
|
base: isDev ? '/' : '/root/center/',
|
|
build: {
|
|
rollupOptions: {
|
|
output: {
|
|
// 控制输出
|
|
// 在rollup里面, hash代表将你的文件名和文件内容进行组合计算得来的结果
|
|
assetFileNames: (chunkInfo) => {
|
|
console.log(chunkInfo.names);
|
|
if (chunkInfo.names?.includes('panda.png')) {
|
|
return '[name].[ext]';
|
|
}
|
|
const qrcode = ['qrcode-8x8.jpg'];
|
|
const names = chunkInfo.names || [];
|
|
if (qrcode.some((name) => names.includes(name))) {
|
|
return '[name].[ext]';
|
|
}
|
|
return '[name].[hash].[ext]';
|
|
},
|
|
},
|
|
},
|
|
},
|
|
server: {
|
|
port: 6020,
|
|
host: '0.0.0.0',
|
|
proxy: {
|
|
'/root/locales': {
|
|
target: 'https://kevisual.cn',
|
|
changeOrigin: true,
|
|
},
|
|
'/system/lib': {
|
|
target: 'https://kevisual.xiongxiao.me',
|
|
changeOrigin: true,
|
|
},
|
|
'/api': {
|
|
target: 'http://localhost:4005',
|
|
changeOrigin: true,
|
|
ws: true,
|
|
rewrite: (path) => path.replace(/^\/api/, '/api'),
|
|
},
|
|
...proxy,
|
|
},
|
|
},
|
|
});
|