56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
import { defineConfig } from 'vite';
|
|
import basicSsl from '@vitejs/plugin-basic-ssl';
|
|
// import react from '@vitejs/plugin-react';
|
|
import dayjs from 'dayjs';
|
|
import path from 'path';
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import pkgs from './package.json' with { type: 'json' };
|
|
|
|
const isDev = process.env.NODE_ENV === 'development';
|
|
const isWebDev = process.env.WEB_DEV === 'true';
|
|
const BUILD_TIME = dayjs().format('YYYY-MM-DD HH:mm:ss');
|
|
const basename = pkgs.basename;
|
|
let plugins = [tailwindcss(),];
|
|
|
|
if (!isWebDev) {
|
|
// 在bolt的web开发环境下不需要ssl
|
|
plugins.push(basicSsl());
|
|
}
|
|
|
|
|
|
export default defineConfig({
|
|
plugins: plugins,
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
base: isDev ? '/' : basename,
|
|
define: {
|
|
DEV_SERVER: JSON.stringify(isDev),
|
|
BUILD_TIME: JSON.stringify(BUILD_TIME),
|
|
BASE_NAME: JSON.stringify(basename),
|
|
},
|
|
optimizeDeps: {
|
|
exclude: ['react'], // 排除 react 和 react-dom 以避免打包
|
|
},
|
|
// esbuild: {
|
|
// jsxFactory: 'h',
|
|
// jsxFragment: 'Fragment',
|
|
// },
|
|
server: {
|
|
port: 6025,
|
|
host: '0.0.0.0',
|
|
proxy: {
|
|
'/api': {
|
|
target: 'https://kevisual.xiongxiao.me',
|
|
changeOrigin: true,
|
|
},
|
|
'/system/lib': {
|
|
target: 'https://kevisual.xiongxiao.me',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
});
|