import {defineConfig} from 'vite' import vue from '@vitejs/plugin-vue' import Components from 'unplugin-vue-components/vite' import AutoImport from 'unplugin-auto-import/vite' import {ElementPlusResolver} from 'unplugin-vue-components/resolvers' import path from 'path'; import OptimizationPersist from 'vite-plugin-optimize-persist' import PkgConfig from 'vite-plugin-package-config' export default defineConfig({ build: { outDir: 'AggregationProgram', // 指定输出路径 }, plugins: [ vue(), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), PkgConfig(), OptimizationPersist(), ], base: "./",//打包路径 mode: 'hash', resolve: { alias: { '@': path.resolve(__dirname, './src')//设置别名 } }, server: { // open: true,//启动项目自动弹出浏览器 port: 9988,//启动端口 host: "0.0.0.0", disableHostCheck: true, cors: true, // 默认启用并允许任何源 // proxy: { // '/': { // target: 'http://localhost:9440/', // changeOrigin: true, // ws: true, // rewrite: (path) => path.replace('9988', '9440') // } // } }, css: { postcss: { plugins: [ require("postcss-pxtorem")({ rootValue: 190, propList: ['*', '!border'], // 除 border 外所有px 转 rem selectorBlackList: ['.loading','.dot','el-'] // 过滤掉.am-开头的class,不进行rem转换 }) ] }, }, optimizeDeps: { include: [ "element-plus/es", "element-plus/es/components/config-provider/style/css", "element-plus/es/components/container/style/css", "element-plus/es/components/main/style/css", "element-plus/es/components/header/style/css", "element-plus/es/components/date-picker/style/css", "element-plus/es/components/drawer/style/css", "element-plus/es/components/image/style/css", "element-plus/es/components/image/style/css", "element-plus/es/components/table/style/css", "element-plus/es/components/table-column/style/css", "element-plus/es/components/input/style/css", "element-plus/es/components/dropdown/style/css", "element-plus/es/components/popover/style/css", "element-plus/es/components/dropdown-item/style/css", "element-plus/es/components/dropdown-menu/style/css", "element-plus/es/components/pagination/style/css", "element-plus/es/components/scrollbar/style/css", "element-plus/es/components/dialog/style/css", "element-plus/es/components/loading/style/css", "element-plus/es/components/tabs/style/css", "element-plus/es/components/tab-pane/style/css", "element-plus/es/components/select/style/css", "element-plus/es/components/option/style/css", "vue", "sass", "vue-router", ], }, })