如何在启动离线应用程序时使用 javascript 清除缓存

how to clear cache using javascript when starting Offline application

我需要帮助来使用 Javascript 清除缓存,是否可以使用 Javascript 清除缓存?

我使用 Javascript 和 Node WebKit 开发了一个离线 Chrome 应用程序。使用此应用程序时,缓存大小日益增加。

所以我想在启动应用程序时从 AppData/Local/MyAPP.1.0 中删除缓存目录或清除缓存。

请帮助我使用Javascript(相关解决方案)清除缓存。

如果您需要这方面的任何信息,请告诉我。

提前致谢。

试试这个,可能有用

require("nw.gui").App.clearCache();

使用这个递归函数删除AppData/Local/{MyAPP.1.0}/

中的所有文件
deleteFolderRecursive:function(path) {        
    var fs = require("fs");
    if( fs.existsSync(path) ) {
        try{
            fs.readdirSync(path).forEach(function(file) {
                var curPath = path + "/" + file;
                if(fs.statSync(curPath).isDirectory()) { 
                    try{
                        deleteFolderRecursive(curPath);
                    }catch(e){
                        console.log(e);
                    }
                } else {
                    try{
                        fs.unlinkSync(curPath);
                    }catch(e){
                        console.log(e);
                    }
                }
            });
            fs.rmdirSync(path);
        }catch(e){
            console.log(e);
        }
    }
}

使用

获取AppData文件夹路径
var path = require("nw.gui").App.dataPath;

使用

获取AppData文件夹路径
deleteFolderRecursive(path);

我总是禁用磁盘缓存,因为我发现它会减慢一切;即使在我编写的浏览器中,如果您想禁用它也意味着不会有任何垃圾需要清理,请在您的 package.json 中使用此设置:

 "chromium-args": "--disk-cache-dir=W:/abc --media-cache-dir=W:/abc --disk-cache-size=1 --media-cache-size=1",

注意:以上是 DUMMY drives/paths 不存在以终止缓存。