WechatOnCloud/panel/web/vite.config.ts
Kris e35f1d64cf feat: 初始化项目,添加完整的微信云部署方案与面板实现
包含以下核心内容:
1.  完整的Docker容器化部署方案,支持多架构amd64/arm64
2.  自研Web管理面板,包含登录认证、实例管理、权限控制
3.  微信实例容器镜像,内置中文字体与输入法修复
4.  飞牛OS应用打包适配
5.  完整的文档与运维指南
2026-07-05 03:50:30 +08:00

47 lines
1.4 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 { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { VitePWA } from 'vite-plugin-pwa';
// 开发时把 /api 与 /desktop 代理到本地后端npm run dev 时用)
const BACKEND = process.env.BACKEND || 'http://localhost:8080';
export default defineConfig({
plugins: [
react(),
VitePWA({
registerType: 'autoUpdate',
includeAssets: ['favicon.svg', 'icon-180.png'],
manifest: {
name: '云微',
short_name: '云微',
description: '在浏览器访问 NAS 上的微信',
lang: 'zh-CN',
theme_color: '#07C160',
background_color: '#ffffff',
display: 'standalone',
start_url: '/',
icons: [
{ src: 'icon-192.png', sizes: '192x192', type: 'image/png' },
{ src: 'icon-512.png', sizes: '512x512', type: 'image/png' },
{ src: 'icon-512.png', sizes: '512x512', type: 'image/png', purpose: 'maskable' },
],
},
workbox: {
// 桌面反代与 API 不能被 SW 拦截
navigateFallbackDenylist: [/^\/desktop/, /^\/api/],
// 新版本立即接管 + 清理旧缓存,避免更新后仍跑旧代码(硬刷新绕不过 SW
clientsClaim: true,
skipWaiting: true,
cleanupOutdatedCaches: true,
},
}),
],
server: {
proxy: {
'/api': BACKEND,
'/desktop': { target: BACKEND, ws: true },
},
},
build: { outDir: 'dist' },
});