本文目录导读:

下面是一个自动清理 Redoc 缓存的脚本,支持 Linux / macOS 和 Windows 两种系统。
Linux / macOS (Bash 脚本)
保存为 clear_redoc_cache.sh:
#!/bin/bash
echo "🧹 开始清理 Redoc 缓存..."
# Redoc 通常使用浏览器缓存 + Service Worker 缓存
# 清理常见位置:
# 1. 清理浏览器缓存(以 Chrome/Chromium 为例)
if command -v google-chrome &> /dev/null; then
echo " → 清理 Chrome 浏览器缓存..."
rm -rf ~/.cache/google-chrome/Default/Cache/*
rm -rf ~/.cache/google-chrome/Default/Code\ Cache/*
fi
if command -v chromium-browser &> /dev/null || command -v chromium &> /dev/null; then
echo " → 清理 Chromium 浏览器缓存..."
rm -rf ~/.cache/chromium/Default/Cache/*
rm -rf ~/.cache/chromium/Default/Code\ Cache/*
fi
# 2. 清理 Redoc 可能缓存的位置(CDN 预缓存、本地存储)
# 常见于 node_modules 或构建输出
CACHE_DIRS=(
"./node_modules/.cache/redoc"
"./dist/redoc"
"./.redoc-cache"
)
for dir in "${CACHE_DIRS[@]}"; do
if [ -d "$dir" ]; then
echo " → 清理目录: $dir"
rm -rf "$dir"
fi
done
# 3. 清理 systemd 或 nginx 缓存(Redoc 部署在反向代理后)
if [ -d "/var/cache/nginx" ]; then
echo " → 清理 nginx 缓存..."
sudo rm -rf /var/cache/nginx/*
fi
# 4. 清理 Service Worker 缓存(需在浏览器中执行,脚本无法直接清理)
echo ""
echo "⚠️ 注意:Redoc 使用 Service Worker 缓存,请在浏览器中手动清除:"
echo " 打开 DevTools → Application → Cache Storage → 删除 redoc 相关缓存"
echo " 或使用 Clear-Site-Data 头"
echo ""
echo "✅ 清理完成!"
使用方法:
chmod +x clear_redoc_cache.sh ./clear_redoc_cache.sh
Windows (PowerShell 脚本)
保存为 clear_redoc_cache.ps1:
Write-Host "🧹 开始清理 Redoc 缓存..." -ForegroundColor Cyan
# 1. 清理浏览器缓存(Chrome)
$chromeCachePath = "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Cache"
if (Test-Path $chromeCachePath) {
Write-Host " → 清理 Chrome 浏览器缓存..."
Remove-Item -Path "$chromeCachePath\*" -Recurse -Force -ErrorAction SilentlyContinue
}
# 2. 清理 Redoc 常见缓存位置
$cacheDirs = @(
".\node_modules\.cache\redoc",
".\dist\redoc",
"\.redoc-cache"
)
foreach ($dir in $cacheDirs) {
if (Test-Path $dir) {
Write-Host " → 清理目录: $dir"
Remove-Item -Path $dir -Recurse -Force -ErrorAction SilentlyContinue
}
}
# 3. 清理 IIS / 反向代理缓存(如 ARR)
$iisCachePath = "C:\inetpub\temp\appPools"
if (Test-Path $iisCachePath) {
Write-Host " → 尝试清理 IIS 应用程序池缓存..."
Remove-Item -Path "$iisCachePath\*" -Recurse -Force -ErrorAction SilentlyContinue
}
Write-Host ""
Write-Host "⚠️ 注意:Redoc 使用 Service Worker 缓存,请在浏览器中手动清除:" -ForegroundColor Yellow
Write-Host " 打开 DevTools → Application → Cache Storage → 删除 redoc 相关缓存" -ForegroundColor Yellow
Write-Host " 或使用 Clear-Site-Data 头" -ForegroundColor Yellow
Write-Host ""
Write-Host "✅ 清理完成!" -ForegroundColor Green
使用方法:
.\clear_redoc_cache.ps1
如果遇到执行策略限制,先运行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
通用用法:直接在浏览器中清除
适用范围: 所有系统
- 打开 Redoc 页面
- 按
F12打开 DevTools - 选择 Application
- 展开 Cache Storage
- 右键 → 删除所有缓存,或只删除
redoc相关的 cache- 刷新页面
自动化方案(推荐用于开发环境)
如果你在开发中频繁更新 Redoc 文档,可以在构建脚本中自动加入清理步骤。
示例(package.json):
{
"scripts": {
"clear-cache": "rimraf ./node_modules/.cache/redoc && rimraf ./dist/redoc",
"redoc-build": "npm run clear-cache && redoc-cli build your-spec.yaml",
"redoc-serve": "npm run clear-cache && redoc-cli serve your-spec.yaml"
}
}
使用 rimraf 或 del-cli 来跨平台删除目录:
npm install --save-dev rimraf
注意事项
| 场景 | 说明 |
|---|---|
| Service Worker | 只能通过浏览器手动清理或设置 Clear-Site-Data 头 |
| CDN / 反向代理 | 需要清除 Nginx / Varnish / Cloudflare 等缓存 |
| 浏览器缓存 | 可强制刷新 Ctrl+F5 或使用脚本清理 |
| 构建缓存 | 不同构建工具(Webpack/Vite)需单独清除对应缓存目录 |
如果你有特定的 Redoc 部署环境(如 Docker、Nginx、K8s),可以告诉我,我可以给出更精确的清理方案。