You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
BAT01-B/vite.config.js

108 lines
2.8 KiB

import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
import Components from 'unplugin-vue-components/vite';
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
import postcssPxtoRem from 'postcss-pxtorem';
import { visualizer } from 'rollup-plugin-visualizer';
import { lazyImport, VxeResolver } from 'vite-plugin-lazy-import';
import { createHtmlPlugin } from 'vite-plugin-html';
const getViteEnv = (mode, target) => {
console.log(loadEnv(mode, process.cwd())[target], '>>>>>>');
return loadEnv(mode, process.cwd())[target];
};
// https://vitejs.dev/config/
export default defineConfig(({ command, mode }) => {
const env = loadEnv(mode, process.cwd());
console.log(env);
return {
base: './',
publicDir: 'public',
build: {
outDir: 'dist',
sourcemap: false,
minify: 'terser',
terserOptions: {
compress: {
//drop_console: true,
drop_debugger: true
}
}
},
plugins: [
vue(),
createHtmlPlugin({
inject: {
data: {
title: getViteEnv(mode, 'VITE_APP_TITLE')
}
}
}),
//vxe按需加载
lazyImport({
resolvers: [
VxeResolver({
libraryName: 'vxe-table'
})
]
}),
//打包视图
// visualizer({
// open: true,
// gzipSize: true,
// brotliSize: true,
// filename: 'stats.html'
// }),
createSvgIconsPlugin({
// 指定需要缓存的图标文件夹
iconDirs: [path.resolve(process.cwd(), 'src/plugin/svg-icon/svgs')],
// 指定symbolId格式
symbolId: '[name]'
}),
//按需加载
Components({
resolvers: [
AntDesignVueResolver({
importStyle: false // css in js
})
]
})
],
resolve: {
alias: {
'@': path.resolve(__dirname, 'src')
}
},
server: {
host: '0.0.0.0',
port:'8080',
proxy: {
'/api': {
target: 'http://192.168.1.37:9000',
// target: 'http://192.168.1.253:8000',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '')
}
}
},
css: {
postcss: {
plugins: [
postcssPxtoRem({
rootValue: 128, // 按照自己的设计稿修改 1920/10
unitPrecision: 5, // 保留到5位小数
selectorBlackList: ['ignore', 'tab-bar', 'tab-bar-item', 'gasExperimentResult'], // 忽略转换正则匹配项
propList: ['*'],
replace: true,
mediaQuery: false,
minPixelValue: 0
})
]
}
}
};
});