77 lines
1.9 KiB
JavaScript
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'
|
|
});
|