demo_use_vue3/vite.config.ts
2025-11-24 14:49:39 +08:00

102 lines
3.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { fileURLToPath, URL } from 'node:url'
import { resolve } from 'node:path'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import vueDevTools from 'vite-plugin-vue-devtools'
import postcssPresetEnv from 'postcss-preset-env'
import postcssNormalizeCharset from 'postcss-normalize-charset'
import autoprefixer from 'autoprefixer'
function pathResolve(dir: string) {
return resolve(__dirname, dir)
}
const URL_USE = ''
// https://vite.dev/config/
export default defineConfig({
base: './',
server: {
host: true,
port: 3019, // 指定端口
strictPort: false, // 如果端口已被占用则退出
proxy: {
'/api': {
target: URL_USE,
changeOrigin: true, // 修改请求的 origin
rewrite: (path: string) => path, // 可选:重写路径
},
'/ollama': {
target: URL_USE,
changeOrigin: true, // 修改请求的 origin
rewrite: (path: string) => path, // 可选:重写路径
},
'/openai': {
target: URL_USE,
changeOrigin: true, // 修改请求的 origin
rewrite: (path: string) => path, // 可选:重写路径
},
'/ws': {
target: URL_USE,
changeOrigin: true, // 修改请求的 origin
ws: true,
rewrite: (path: string) => path, // 可选:重写路径
},
},
},
plugins: [
vue(),
vueJsx(),
vueDevTools(),
],
resolve: {
alias: [
{
find: /\@\//,
replacement: `${pathResolve('src')}/`,
},
]
},
css: {
postcss: {
plugins:[
postcssPresetEnv(),
postcssNormalizeCharset({
add: true,
}),
autoprefixer({
//css兼容前缀
overrideBrowserslist: [
'Android 4.1',
'ios 7.1',
'Chrome >31',
'not ie <=11', //不考虑IE浏览器
'ff >= 30', //仅新版本用'ff >= 30
'>1%', //全球统计有超过1%的使用了使用'> 1%'
'last 2 version', //所有主流浏览器最近2个版本
],
grid: true, //开启grid布局的兼容浏览器IE除外其它都能兼容grid可以关闭开启
}),
// px2rem({
// rootValue: 19.2, // UI设计稿的宽度/10
// // rootValue : 37.5,
// unitPrecision: 3, // 转rem精确到小数点多少位
// propList: ['*'], // 需要转换的属性 *表示所有
// selectorBlackList: ['ignore'], // 不进行px转换的选择器
// replace: true, // 是否直接更换属性值,而不添加备用属性
// mediaQuery: false, // 是否在媒体查询的css代码中也进行转换
// minPixelValue: 0, // 设置要替换的最小像素值
// exclude: /node_modules/i // 排除node_modules文件夹下的文件
// })
]
},
preprocessorOptions: {
scss: {
},
},
}
})