llm-survey/frontend/vite.config.js

48 lines
1.2 KiB
JavaScript

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import Components from 'unplugin-vue-components/vite';
import { VantResolver } from 'unplugin-vue-components/resolvers';
import { fileURLToPath, URL } from 'node:url';
import postcssPxToViewport from 'postcss-px-to-viewport';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
// 自动导入 Vant 组件
Components({
resolvers: [VantResolver()],
}),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
css: {
postcss: {
plugins: [
// 移动端适配
postcssPxToViewport({
viewportWidth: 375, // 设计稿宽度
viewportUnit: 'vw',
fontViewportUnit: 'vw',
selectorBlackList: ['.ignore-'], // 不转换的类名
minPixelValue: 1, // 最小转换数值
mediaQuery: false, // 是否转换媒体查询中的像素值
}),
],
},
},
server: {
host: '0.0.0.0',
port: 3000,
proxy: {
'/api': {
target: 'http://localhost:18080/llm-survey-api',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''),
},
},
},
});