局长信箱-内网端(前端)
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.
 
 
 
 
 
 

82 lines
2.1 KiB

import { fileURLToPath } from 'url'
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import postCssPxToRem from 'postcss-pxtorem'
// https://vitejs.dev/config/
export default ({ mode }) => {
const env = loadEnv(mode, process.cwd());
return defineConfig({
base: env.VITE_BASE,
define: {
'process.env': env
},
server: {
host: '0.0.0.0',
port: 5173,
proxy: {
'/lan-api': {
// https://mailbox.biutag.com/lan-api/
// http://127.0.0.1:8082
target: 'http://127.0.0.1:8082',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/lan-api/, '')
}
}
},
plugins: [
vue(),
AutoImport({
imports: [
'vue', 'vue-router'
],
resolvers: [ElementPlusResolver()],
}),
Components({
directoryAsNamespace: true,
resolvers: [ElementPlusResolver({
importStyle: "sass"
})],
}),
createSvgIconsPlugin({
// 配置路劲在你的src里的svg存放文件
iconDirs: [fileURLToPath(new URL('./src/assets/icons', import.meta.url))],
symbolId: 'local-icon-[name]'
})
],
resolve: {
// https://cn.vitejs.dev/config/#resolve-alias
alias: {
// 设置别名
'~/': `${path.resolve(__dirname, 'src')}/`,
'@': path.resolve(__dirname, './src/')
},
// https://cn.vitejs.dev/config/#resolve-extensions
extensions: ['.js', '.ts']
},
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "src/style/theme.scss" as *;`
},
},
postcss: {
plugins: [
postCssPxToRem({
rootValue: 192,
propList: ['*'],
})
]
}
}
})
}