Files

48 lines
1.6 KiB
TypeScript
Raw Permalink 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 { defineConfig } from 'vite';
import uniPlugin from '@dcloudio/vite-plugin-uni';
const uni = typeof uniPlugin === 'function' ? uniPlugin : uniPlugin.default;
const devPort = Number(process.env.PORT) || 5175;
const devHost = process.env.HOST || '0.0.0.0';
// 裸跑 npm run dev(如 Kimi Work 预览)时代理到本地 8080 后端;
// 走 portless(scripts/dev.sh)时由 VITE_PROXY_TARGET 显式指向 https://wygj-api.localhost
const proxyTarget = process.env.VITE_PROXY_TARGET || 'http://127.0.0.1:8080';
// 代理到线上等已带 /dev-api 前缀的网关时,设 VITE_PROXY_KEEP_PREFIX=1 保留前缀
const keepProxyPrefix = process.env.VITE_PROXY_KEEP_PREFIX === '1';
// DCloud's current App compiler imports two internal lifecycle helpers from
// `vue`. Public Vue packages intentionally do not export them, so provide a
// narrow App-only compatibility module. H5 continues to resolve the normal
// Vue package.
const appVueRuntimeShim = process.env.UNI_PLATFORM === 'app'
? fileURLToPath(new URL('./src/shims/vue-app-runtime.js', import.meta.url))
: undefined;
const proxy = {
'/dev-api': {
target: proxyTarget,
changeOrigin: true,
secure: false,
rewrite: (path) => (keepProxyPrefix ? path : path.replace(/^\/dev-api/, ''))
}
};
export default defineConfig({
plugins: [uni()],
resolve: appVueRuntimeShim
? { alias: { vue: appVueRuntimeShim } }
: undefined,
server: {
host: devHost,
port: devPort,
strictPort: true,
proxy
},
preview: {
host: devHost,
port: devPort,
strictPort: true,
proxy
}
});