如何清除Electron(原子shell)中的缓存数据?

nee*_*eel 21 node.js node-webkit electron

我想在Electron(atom-shell)中清除缓存数据.我没有在Electron中找到任何类似gui.App.clearCache()(node-webkit api来清除缓存数据)的api.如果您发现任何api或任何其他方式,请告诉我.评论表示赞赏.

pag*_*gep 38

Electron将它的缓存存储在这些文件夹中:

视窗:
C:\Users\<user>\AppData\Roaming\<yourAppName>\Cache

Linux的:
/home/<user>/.config/<yourAppName>/Cache

OS X:
/Users/<user>/Library/Application Support/<yourAppName>/Cache

所以删除这些文件夹也可以帮助你.当然这是一次性解决方案;-)

  • 在 Windows 上,您可以通过 `const process = require('process');` `process.env.APPDATA + "\\"+ app.getName() + "\\Cache";` 获取缓存路径,我不确定会不会在其他平台上工作。 (2认同)

小智 27

您可以使用session.clearCache api.

var remote = require('remote'); 
var win = remote.getCurrentWindow();
win.webContents.session.clearCache(function(){
//some callback.
});
Run Code Online (Sandbox Code Playgroud)


the*_*nuu 8

我们正在我们的应用程序中使用它...

const { app, session } = require('electron');

// ...

session.defaultSession.clearStorageData(null, (error: any) => {
  // in our case we need to restart the application
  // app.relaunch();
  // app.exit();
});
Run Code Online (Sandbox Code Playgroud)

Electron 7 的更新:

await session.defaultSession.clearStorageData();
Run Code Online (Sandbox Code Playgroud)


goo*_*yun 7

如果要清除以前登录会话的所有残余,最好使用以下方法:

loginWindow.webContents.session.clearStorageData()
Run Code Online (Sandbox Code Playgroud)


nee*_*eel 1

回答:

var remote = require('remote');
var win = remote.getCurrentWindow();

win.WebContents.session.cookies.get(details, callback) // getting cookies
win.WebContents.session.cookies.remove(details, callback) //deleting cookies
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息: http:// Electron.atom.io/docs/v0.29.0/api/browser-window/