draw/vite.config.mjs
2025-04-02 18:34:07 +08:00

102 lines
2.5 KiB
JavaScript

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'path';
import tailwindcss from '@tailwindcss/vite';
import pkgs from './package.json' with { type: 'json' };
import basicSsl from '@vitejs/plugin-basic-ssl';
const version = pkgs.version || '0.0.1';
const isDev = process.env.NODE_ENV === 'development';
const basename = isDev ? '/' : pkgs?.basename || '/';
const plugins = []
plugins.push(basicSsl());
let proxy = {}
if(isDev){
proxy = {
'/api': {
target: 'https://kevisual.xiongxiao.me',
changeOrigin: true,
// cookieDomainRewrite: 'localhost',
},
};
}
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react(), tailwindcss(), ...plugins],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
// base: basename,
base: './',
define: {
DEV_SERVER: JSON.stringify(process.env.NODE_ENV === 'development'),
VERSION: JSON.stringify(version),
BASE_NAME: JSON.stringify(basename),
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
},
build: {
target: 'modules',
// minify: false,
lib: {
entry: './src/libs.ts',
formats: ['es'],
fileName: ()=>`render.js`,
cssFileName: `render`,
},
rollupOptions: {
output: {
exports: 'named',
// entryFileNames: 'main.js',
assetFileNames: (chunkInfo) => {
const names = chunkInfo.names || [];
console.log('names',names);
if(names.includes('libs')){
return '[name].[ext]'
}
return 'assets/[name].[hash].[ext]';
},
// chunkFileNames: (chunkInfo) => {
// const names = chunkInfo.names || [];
// return 'assets/[name].[hash].[ext]';
// },
},
// output: {
// assetFileNames: (chunkInfo) => {
// console.log(chunkInfo.names);
// if (chunkInfo.names?.includes('render')) {
// return '[name].[ext]';
// }
// return 'assets/[name].[hash].[ext]';
// },
// },
},
},
server: {
port: 6006,
host: '0.0.0.0',
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '/api'),
},
'/api/router': {
target: 'ws://localhost:3000',
changeOrigin: true,
ws: true,
rewriteWsOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '/api'),
},
...proxy,
},
},
});