83 lines
1.9 KiB
JavaScript
83 lines
1.9 KiB
JavaScript
|
import { defineConfig } from 'vite'
|
||
|
import vue from '@vitejs/plugin-vue'
|
||
|
import { resolve } from 'path'
|
||
|
import AutoImport from 'unplugin-auto-import/vite'
|
||
|
import Components from 'unplugin-vue-components/vite'
|
||
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
||
|
|
||
|
// https://vitejs.dev/config/
|
||
|
export default defineConfig({
|
||
|
plugins: [
|
||
|
vue(),
|
||
|
AutoImport({
|
||
|
imports: [
|
||
|
'vue',
|
||
|
'vue-router',
|
||
|
'pinia'
|
||
|
],
|
||
|
resolvers: [ElementPlusResolver()],
|
||
|
dts: true
|
||
|
}),
|
||
|
Components({
|
||
|
resolvers: [ElementPlusResolver()],
|
||
|
dts: true
|
||
|
})
|
||
|
],
|
||
|
resolve: {
|
||
|
alias: {
|
||
|
'@': resolve(__dirname, 'src'),
|
||
|
'@components': resolve(__dirname, 'src/components'),
|
||
|
'@views': resolve(__dirname, 'src/views'),
|
||
|
'@stores': resolve(__dirname, 'src/stores'),
|
||
|
'@api': resolve(__dirname, 'src/api'),
|
||
|
'@utils': resolve(__dirname, 'src/utils'),
|
||
|
'@styles': resolve(__dirname, 'src/styles')
|
||
|
}
|
||
|
},
|
||
|
css: {
|
||
|
preprocessorOptions: {
|
||
|
scss: {
|
||
|
additionalData: `@import "@/styles/variables.scss";`
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
server: {
|
||
|
port: 5173,
|
||
|
host: true,
|
||
|
open: true,
|
||
|
proxy: {
|
||
|
'/api': {
|
||
|
target: 'http://localhost:3000',
|
||
|
changeOrigin: true,
|
||
|
secure: false
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
build: {
|
||
|
outDir: 'dist',
|
||
|
sourcemap: false,
|
||
|
minify: 'terser',
|
||
|
terserOptions: {
|
||
|
compress: {
|
||
|
drop_console: true,
|
||
|
drop_debugger: true
|
||
|
}
|
||
|
},
|
||
|
rollupOptions: {
|
||
|
output: {
|
||
|
chunkFileNames: 'js/[name]-[hash].js',
|
||
|
entryFileNames: 'js/[name]-[hash].js',
|
||
|
assetFileNames: 'assets/[name]-[hash].[ext]',
|
||
|
manualChunks: {
|
||
|
'element-plus': ['element-plus'],
|
||
|
'vue-vendor': ['vue', 'vue-router', 'pinia'],
|
||
|
'utils': ['axios', 'lodash-es', 'date-fns']
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
chunkSizeWarningLimit: 1000
|
||
|
},
|
||
|
define: {
|
||
|
__VUE_PROD_DEVTOOLS__: false
|
||
|
}
|
||
|
})
|