插件窝 干货文章 Electron应用卸载后,IndexedDB数据去哪儿了?

Electron应用卸载后,IndexedDB数据去哪儿了?

数据 卸载 IndexedDB 删除 675    来源:    2025-03-26

当Electron应用被卸载后,其IndexedDB数据的去向取决于操作系统和卸载方式。以下是详细分析:


1. 数据存储位置

Electron的IndexedDB数据通常存储在操作系统的应用数据目录中: - Windows:
%APPDATA%\<app-name>\IndexedDB\%LOCALAPPDATA%\ 下 (例如:C:\Users\<user>\AppData\Roaming\<app-name>\IndexedDB\

  • macOS:
    ~/Library/Application Support/<app-name>/IndexedDB/

  • Linux:
    ~/.config/<app-name>/IndexedDB/~/.local/share/


2. 卸载后的数据去向

情况一:标准卸载(保留用户数据)

  • 某些卸载程序(如Windows的"控制面板卸载"或macOS的拖拽删除)可能不会删除应用数据目录,导致IndexedDB残留。
  • 如何清理:需手动删除上述路径中的残留文件夹。

情况二:彻底卸载(删除用户数据)

  • 如果卸载程序明确勾选"删除用户数据"(如某些专业卸载工具),IndexedDB会被清除。
  • Electron官方打包工具(如electron-builder)默认不自动清理数据,除非开发者主动配置。

情况三:便携版应用

  • 如果应用是便携版(直接解压运行),数据可能存储在应用同级目录中,卸载时直接删除整个文件夹即可清理。

3. 手动清理残留数据

  • Windows:

    1. 按下 Win + R,输入 %APPDATA%%LOCALAPPDATA%,分别进入后删除对应应用文件夹。
    2. 检查 C:\Users\<user>\IndexedDB\(某些旧版本可能在此)。
  • macOS:

    1. 打开Finder,按 Cmd + Shift + G,输入 ~/Library/Application Support/,删除应用文件夹。
    2. 检查 ~/Library/Caches/~/Library/WebKit/
  • Linux:
    删除 ~/.config/<app-name>/~/.local/share/<app-name>/


4. 开发者注意事项

如果希望卸载时自动清理数据,需在打包工具中配置: - electron-builder: 在 nsis 配置中添加 deleteAppDataOnUninstall: true。 - Inno Setup: 编写脚本删除数据目录。


5. 用户数据安全建议

  • 敏感数据:应在应用内提供主动清理功能(如调用indexedDB.deleteDatabase())。
  • 加密:对重要数据使用加密库(如crypto-js)后再存储。

总结

Electron卸载后IndexedDB数据通常残留在系统应用目录中,需手动或通过专业卸载工具清理。开发者应明确告知用户数据存储位置,或提供自动清理选项。