|
|
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: 'GreenTraffic', // 指定输出路径
|
|
|
},
|
|
|
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",
|
|
|
],
|
|
|
},
|
|
|
})
|
|
|
|