mirror of
https://github.com/algerkong/AlgerMusicPlayer.git
synced 2026-05-18 19:47:29 +08:00
fix(build): renderer 单 chunk 打包,规避 chunk 间循环依赖 TDZ 白屏
store/index.ts 用 `export *` 聚合所有 store + 抽出的共享工具(如
debouncedStorage)被多 store 引用,Vite 6 默认拆分会让 utils 合并到
entry chunk,再与 store chunk 形成 index ↔ store 循环;当循环 chunk
顶层同步访问对方导出的 const(如 `persist: { storage: debouncedLocalStorage }`),
生产构建会触发 TDZ 报错 `Cannot access 'debouncedLocalStorage' before
initialization`,表现为打包后白屏(dev 不分包不暴露)。
Electron 桌面端无 CDN/首屏体积顾虑,单 chunk 是最简洁的兜底。
This commit is contained in:
@@ -35,6 +35,17 @@ export default defineConfig({
|
||||
})
|
||||
],
|
||||
publicDir: resolve('resources'),
|
||||
build: {
|
||||
rollupOptions: {
|
||||
output: {
|
||||
// 全部代码打到 entry chunk,避免 Vite 默认按共享依赖拆分时
|
||||
// 与 store/index.ts 的 `export *` 形成 chunk 间循环引用,
|
||||
// 触发生产构建里的 TDZ(dev 不分包不会暴露此问题)。
|
||||
// Electron 桌面端本地加载,无 CDN/首屏体积顾虑,单 chunk 合算。
|
||||
manualChunks: () => 'index'
|
||||
}
|
||||
}
|
||||
},
|
||||
server: {
|
||||
host: '0.0.0.0',
|
||||
port: 2389
|
||||
|
||||
Reference in New Issue
Block a user