import { defineConfig } from 'vite' import uni from '@dcloudio/vite-plugin-uni' export default defineConfig({ plugins: [ uni(), { // 强制配置 proxy:uniapp vite-plugin 默认代理会覆盖 vite.config.ts 的 server.proxy // 移动端 uniapp 通过 /dev-api 访问后端,需要把 /dev-api 代理到 9225 name: 'force-dev-api-proxy', configureServer(server) { server.middlewares.use('/dev-api', (req, res, next) => { const url = req.url || '' const opts = { hostname: '127.0.0.1', port: 9225, path: url, method: req.method, headers: req.headers } const proxyReq = require('http').request(opts, (proxyRes) => { res.writeHead(proxyRes.statusCode || 502, proxyRes.headers) proxyRes.pipe(res, { end: true }) }) proxyReq.on('error', (err) => { res.statusCode = 502 res.end('Proxy error: ' + err.message) }) req.pipe(proxyReq, { end: true }) }) }, configurePreviewServer(server) { server.middlewares.use('/dev-api', (req, res, next) => { const url = req.url || '' const opts = { hostname: '127.0.0.1', port: 9225, path: url, method: req.method, headers: req.headers } const proxyReq = require('http').request(opts, (proxyRes) => { res.writeHead(proxyRes.statusCode || 502, proxyRes.headers) proxyRes.pipe(res, { end: true }) }) proxyReq.on('error', (err) => { res.statusCode = 502 res.end('Proxy error: ' + err.message) }) req.pipe(proxyReq, { end: true }) }) } } ], server: { host: '0.0.0.0', port: 9000 }, preview: { host: '0.0.0.0', port: 9000 }, css: { preprocessorOptions: { scss: { additionalData: `@import "@/static/styles/variables.scss";` } } } })