| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- 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,
- }
- }
- },
- css: {
- postcss: {
- plugins: [
- {
- postcssPlugin: 'internal:charset-removal',
- AtRule: {
- charset: (atRule) => {
- if (atRule.name === 'charset') {
- atRule.remove()
- }
- }
- }
- }
- ]
- }
- }
- }
- })
|