| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import {defineConfig, loadEnv} from 'vite'
- import path from 'path'
- import createVitePlugins from './vite/plugins'
- // https://vitejs.dev/config/
- export default defineConfig(({mode, command}) => {
- const env = loadEnv(mode, process.cwd())
- const {VITE_APP_ENV} = env
- const VITE_SERVICE_BASE_TITLE=env.VITE_SERVICE_BASE_TITLE
- const VITE_SERVER_URL=env.VITE_SERVER_URL
- return {
- base: env.VITE_APP_BASE_TITLE,
- plugins: createVitePlugins(env, command === 'build'),
- resolve: {
- // https://cn.vitejs.dev/config/#resolve-alias
- alias: {
- // 设置路径
- '~': path.resolve(__dirname, './'),
- // 设置别名
- '@': path.resolve(__dirname, './src')
- },
- // https://cn.vitejs.dev/config/#resolve-extensions
- extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
- },
- // 打包配置
- build: {
- // https://vite.dev/config/build-options.html
- sourcemap: command === 'build' ? false : 'inline',
- outDir: 'dist',
- assetsDir: 'assets',
- chunkSizeWarningLimit: 2000,
- rollupOptions: {
- output: {
- chunkFileNames: 'static/js/[name]-[hash].js',
- entryFileNames: 'static/js/[name]-[hash].js',
- assetFileNames: 'static/[ext]/[name]-[hash].[ext]'
- }
- }
- },
- // vite 相关配置
- server: {
- port: env.VITE_APP_PORT,
- host: '0.0.0.0',
- open: true,
- proxy: {
- // https://cn.vitejs.dev/config/#server-proxy
- [VITE_SERVICE_BASE_TITLE]: {
- target: VITE_SERVER_URL,
- changeOrigin: true,
- rewrite: (path) => path.replace(new RegExp(`^${VITE_SERVICE_BASE_TITLE}`), ''),
- },
- // springdoc proxy
- '^/v3/api-docs/(.*)': {
- target: VITE_SERVER_URL,
- changeOrigin: true,
- },
- // Knife4j 内部请求包含 context-path,需透传
- '/slgc-run': {
- target: VITE_SERVER_URL.replace('/slgc-run', ''),
- changeOrigin: true,
- }
- }
- },
- css: {
- postcss: {
- plugins: [
- {
- postcssPlugin: 'internal:charset-removal',
- AtRule: {
- charset: (atRule) => {
- if (atRule.name === 'charset') {
- atRule.remove()
- }
- }
- }
- }
- ]
- }
- }
- }
- })
|