Teamlinker/code/client/vite.config.ts
sx1989827 fbd08418e4 fix
2023-08-10 16:28:30 +08:00

57 lines
1.7 KiB
TypeScript

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import * as fs from "fs";
import * as path from "path";
import viteCompression from 'vite-plugin-compression'
import {createSvgIconsPlugin} from "vite-plugin-svg-icons";
export default defineConfig({
resolve:{
alias:{
"@":path.join(__dirname,"src")
}
},
plugins: [
vue(),
viteCompression({
threshold:102400
}),
createSvgIconsPlugin({
iconDirs:[path.join(__dirname,"./src/assert/custom")],
symbolId:'[name]'
})
],
server:{
host:"0.0.0.0",
https:{
key:fs.readFileSync(path.join(__dirname,'./certs/key.pem')),
cert: fs.readFileSync(path.join(__dirname,'./certs/cert.pem'))
},
port: 3000,
hmr:true,
open: false, //自动打开
base: "./ ", //生产环境路径
proxy: { // 本地开发环境通过代理实现跨域,生产环境使用 nginx 转发
// 正则表达式写法
'^/api': {
secure:false,
target: 'https://localhost:14000/api', // 后端服务实际地址
changeOrigin: true, //开启代理
rewrite: (path) => path.replace(/^\/api/, '')
},
'^/file': {
secure:false,
target: 'https://localhost:14000/file', // 后端服务实际地址
changeOrigin: true, //开启代理
rewrite: (path) => path.replace(/^\/file/, '')
},
"/socket.io":{
target:"https://localhost:14000",
secure:false,
ws:true,
changeOrigin: true
}
}
},
})