fix: 替换 extractMemories 的 require() 为动态 import() 修复 Vite 构建崩溃

Vite/Rollup 构建时将 require() 通过 __toCommonJS() 包装 ESM 导出,
导致命名导出被包裹在 { default: namespace } 中,访问
extractMemoriesModule.initExtractMemories 为 undefined 触发 React
error boundary 崩溃。改用标准 ESM 动态 import() 绕过 CJS interop。

Co-Authored-By: glm-5-turbo <zai-org@claude-code-best.win>
This commit is contained in:
claude-code-best
2026-05-14 17:44:47 +08:00
parent 3d7b32f52e
commit 78d46aa233
3 changed files with 25 additions and 17 deletions

View File

@@ -4,9 +4,6 @@ import { initMagicDocs } from '../services/MagicDocs/magicDocs.js'
import { initSkillImprovement } from './hooks/skillImprovement.js'
/* eslint-disable @typescript-eslint/no-require-imports */
const extractMemoriesModule = feature('EXTRACT_MEMORIES')
? (require('../services/extractMemories/extractMemories.js') as typeof import('../services/extractMemories/extractMemories.js'))
: null
const registerProtocolModule = feature('LODESTONE')
? (require('./deepLink/registerProtocol.js') as typeof import('./deepLink/registerProtocol.js'))
: null
@@ -32,7 +29,13 @@ export function startBackgroundHousekeeping(): void {
void initMagicDocs()
void initSkillImprovement()
if (feature('EXTRACT_MEMORIES')) {
extractMemoriesModule!.initExtractMemories()
void import('../services/extractMemories/extractMemories.js')
.then(({ initExtractMemories }) => {
initExtractMemories()
})
.catch(() => {
// Module load failure — non-critical, memory extraction just won't run
})
}
initAutoDream()
void autoUpdateMarketplacesAndPluginsInBackground()