119 lines
3.4 KiB
JavaScript
119 lines
3.4 KiB
JavaScript
import { fileURLToPath, URL } from 'url'
|
|
import { defineConfig, loadEnv } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import vueJsx from '@vitejs/plugin-vue-jsx'
|
|
import postCssPxToRem from 'postcss-pxtorem'
|
|
import { resolve } from 'path'
|
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
|
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), '');
|
|
return {
|
|
plugins: [
|
|
vue(),
|
|
vueJsx(),
|
|
createSvgIconsPlugin({
|
|
iconDirs: [resolve(process.cwd(), 'src/assets/icons')],
|
|
symbolId: 'icon-[dir]-[name]',
|
|
}),
|
|
],
|
|
productionSourceMap: false,
|
|
configureWebpack: {
|
|
devtool: false
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
}
|
|
},
|
|
server: {
|
|
port: 3002,
|
|
host: '0.0.0.0',
|
|
https: false,
|
|
proxy: {
|
|
// 系统管理服务19901
|
|
'/api/sys': {
|
|
target: env.VITE_API_URL_SYS,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api\/sys/, '/api'),
|
|
secure: false,
|
|
onProxyReq: (proxyReq, req, res) => {
|
|
console.log('Proxying request:');
|
|
console.log(` Method: ${req.method}`);
|
|
console.log(` Path: ${proxyReq.path}`);
|
|
console.log(' Request Headers:', req.headers);
|
|
}
|
|
},
|
|
'/auth': {
|
|
target: env.VITE_AUTH_URL,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/auth/, ''),
|
|
secure: false,
|
|
onProxyReq: (proxyReq, req, res) => {
|
|
console.log('Proxying request:');
|
|
console.log(` Method: ${req.method}`);
|
|
console.log(` Path: ${proxyReq.path}`);
|
|
console.log(' Request Headers:', req.headers);
|
|
}
|
|
},
|
|
// 业务系统服务19903
|
|
'/api/lmg': {
|
|
target: env.VITE_API_URL_JKFZJC,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api\/lmg/, '/api'),
|
|
secure: false,
|
|
onProxyReq: (proxyReq, req, res) => {
|
|
console.log('Proxying request:');
|
|
console.log(` Method: ${req.method}`);
|
|
console.log(` Path: ${proxyReq.path}`);
|
|
console.log(' Request Headers:', req.headers);
|
|
}
|
|
},
|
|
//
|
|
'/api/jkfzjc': {
|
|
target: env.VITE_API_URL_JKFZJC,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api\/lmg/, '/api'),
|
|
secure: false,
|
|
onProxyReq: (proxyReq, req, res) => {
|
|
console.log('Proxying request:');
|
|
console.log(` Method: ${req.method}`);
|
|
console.log(` Path: ${proxyReq.path}`);
|
|
console.log(' Request Headers:', req.headers);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
css: {
|
|
preprocessorOptions: {
|
|
scss: {
|
|
api: 'modern-compiler',
|
|
additionalData: `
|
|
@use "@/assets/scss/variables" as v;
|
|
@use "@/assets/scss/mixins" as m;
|
|
`
|
|
}
|
|
},
|
|
postcss: {
|
|
plugins: [
|
|
postCssPxToRem({
|
|
rootValue: 16,
|
|
propList: ['*'],
|
|
selectorBlackList: ['no-rem'],
|
|
replace: true,
|
|
mediaQuery: false,
|
|
minPixelValue: 0
|
|
}),
|
|
]
|
|
}
|
|
},
|
|
define: {
|
|
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: JSON.stringify(false),
|
|
},
|
|
esbuild: {
|
|
drop: ['console', 'debugger']
|
|
}
|
|
};
|
|
});
|