You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

88 lines
3.3 KiB

# 测试路由同步优化效果
# 检查死循环问题是否已解决
Write-Host "========================================" -ForegroundColor Cyan
Write-Host " 路由同步优化测试脚本" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
# 设置编码
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
# 检查优化后的文件
Write-Host "🔍 检查优化后的文件..." -ForegroundColor Yellow
$filesToCheck = @(
"app\plugins\route-mapping-plugin.js",
"app\scripts\generate-route-mappings.js",
"app\vue.config.js",
"app\src\renderer\modules\route-sync\RouteSyncManager.js",
"app\src\renderer\main.js",
"dev-full.ps1"
)
foreach ($file in $filesToCheck) {
if (Test-Path $file) {
Write-Host "$file 存在" -ForegroundColor Green
} else {
Write-Host "$file 不存在" -ForegroundColor Red
}
}
Write-Host ""
Write-Host "🔧 测试路由映射生成脚本..." -ForegroundColor Yellow
# 进入app目录
Set-Location "app"
# 测试检查模式
Write-Host "测试 --check-only 模式..." -ForegroundColor Cyan
try {
node scripts/generate-route-mappings.js --check-only
if ($LASTEXITCODE -eq 0) {
Write-Host "✅ 检查模式测试通过" -ForegroundColor Green
} else {
Write-Host "❌ 检查模式测试失败" -ForegroundColor Red
}
} catch {
Write-Host "❌ 检查模式测试异常: $($_.Exception.Message)" -ForegroundColor Red
}
# 测试正常生成模式
Write-Host "测试正常生成模式..." -ForegroundColor Cyan
try {
node scripts/generate-route-mappings.js
if ($LASTEXITCODE -eq 0) {
Write-Host "✅ 正常生成模式测试通过" -ForegroundColor Green
} else {
Write-Host "❌ 正常生成模式测试失败" -ForegroundColor Red
}
} catch {
Write-Host "❌ 正常生成模式测试异常: $($_.Exception.Message)" -ForegroundColor Red
}
# 返回根目录
Set-Location ".."
Write-Host ""
Write-Host "📊 优化总结:" -ForegroundColor Yellow
Write-Host "1. ✅ 添加了防重复生成机制(5秒冷却时间)" -ForegroundColor Green
Write-Host "2. ✅ 添加了文件变化检测,只在必要时重新生成" -ForegroundColor Green
Write-Host "3. ✅ 添加了文件内容比较,避免无意义的文件写入" -ForegroundColor Green
Write-Host "4. ✅ 优化了启动脚本,避免重复生成" -ForegroundColor Green
Write-Host "5. ✅ 添加了webpack监听排除规则" -ForegroundColor Green
Write-Host "6. ✅ 实现了路由同步管理器单例模式" -ForegroundColor Green
Write-Host "7. ✅ 添加了防重复初始化机制" -ForegroundColor Green
Write-Host ""
Write-Host "🎯 预期效果:" -ForegroundColor Yellow
Write-Host "- 启动时只生成一次路由映射文件" -ForegroundColor White
Write-Host "- 热加载时不会重复生成文件" -ForegroundColor White
Write-Host "- 避免了死循环问题" -ForegroundColor White
Write-Host "- 提高了开发体验" -ForegroundColor White
Write-Host ""
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "测试完成!现在可以尝试启动选项3(热加载监控模式)" -ForegroundColor Green
Write-Host "========================================" -ForegroundColor Cyan