hospital-admin/vite.config.js
2023-10-18 10:51:45 +08:00

77 lines
1.9 KiB
JavaScript

import { join } from 'path'
import { defineConfig } from 'vite';
import { viteMockServe } from 'vite-plugin-mock';
import vue from '@vitejs/plugin-vue';
import svgLoader from 'vite-svg-loader';
import { VuetifyResolver,ElementPlusResolver } from 'unplugin-vue-components/resolvers';
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite';
import viteCompression from 'vite-plugin-compression'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
viteMockServe({
mockPath: '/mock',
}),
svgLoader(),
viteMockServe({
mockPath: '/mock',
}),
viteCompression({
threshold: 1024000 // 对大于 1mb 的文件进行压缩
}),
AutoImport({
resolvers: [ElementPlusResolver()]
}),
Components({
resolvers: [VuetifyResolver(),ElementPlusResolver()],
include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
}),
],
build: {
assetsInlineLimit: 4096,// 图片转 base64 编码的阈值
minify: 'terser',
terserOptions: {
compress: {
//生产环境时移除console
drop_console: true,
drop_debugger: true,
},
},
},
resolve: {
alias: {
'@': join(__dirname, 'src'),
}
},
server: {
host: true,
port: 1798,
//secure: false,
proxy: {
'/book': {
target: 'http://twx.igandan.org',
changeOrigin: true, //开启跨域
rewrite: (path) => path.replace(/^\/book/, '')
},
'/admin': {
target: 'http://dev.hospital.admin.igandanyiyuan.com',
changeOrigin: true, //开启跨域
rewrite: (path) => path.replace(/^\/admin/, '')
}
}
},
// 引入全局scss变量
css: {
preprocessorOptions: {
scss: {
additionalData: `@import "@/style/variables.scss";`
}
}
},
publicDir: '/public'
});