Javascript 禁用ExtJs应用程序的缓存

Javascript 禁用ExtJs应用程序的缓存,javascript,caching,extjs,extjs5,sencha-cmd5,Javascript,Caching,Extjs,Extjs5,Sencha Cmd5,我们有一个使用Sencha cmd 5.0.1.231构建的ExtJS 5.01应用程序 我们面临的问题是浏览器似乎在缓存应用程序的旧版本。当我们的应用程序运行时,查看chrome上的网络流量,我可以看到app.js和app.css文件都附加了?_dc={timestamp}。现在,这告诉我,每次发布我的应用程序的新版本(更新这个时间戳),浏览器都应该得到一个新版本。但有时似乎还是老版本的服务 还有什么我需要做的吗 谢谢我不明白为什么“有时”浏览器会缓存您的文件,即使默认情况下禁用了缓存。我甚至

我们有一个使用Sencha cmd 5.0.1.231构建的ExtJS 5.01应用程序

我们面临的问题是浏览器似乎在缓存应用程序的旧版本。当我们的应用程序运行时,查看chrome上的网络流量,我可以看到app.js和app.css文件都附加了?_dc={timestamp}。现在,这告诉我,每次发布我的应用程序的新版本(更新这个时间戳),浏览器都应该得到一个新版本。但有时似乎还是老版本的服务

还有什么我需要做的吗

谢谢

我不明白为什么“有时”浏览器会缓存您的文件,即使默认情况下禁用了缓存。我甚至强迫框架尽可能地使用缓存,将这种代码的宁静放在我的
app.js

Ext.Loader.setConfig({
    enabled: true,
    disableCaching: false
});
在开发过程中,我打开我的开发工具并设置。这将不允许Chrome缓存文件


但可能是在你的
app.json
中,你通过设置
“update”
“appcache”
将“缓存”强制到本地存储中。检查本地存储和app.json以进行验证。

在app.json中将app.js的更新属性设置为full:

{
    // Path to file. If the file is local this must be a relative path from this app.json file.
    "path": "app.js",

    "bundle": true,  /* Indicates that all class dependencies are concatenated into this file when build */

    // If 'update' not specified, this file will only be loaded once, and cached inside
    // localStorage until this value is changed. You can specify:
    //   - "delta" to enable over-the-air delta update for this file
    //   - "full" means full update will be made when this file changes
    "update": "full"
}
禁用extjs中的缓存,以便浏览器从服务器获取数据。为此,添加以下app.json文件

"production": {
    "cache": {
        "enable": false
    }
}

"css": [
    {
        // this entry uses an ant variable that is the calculated
        // value of the generated output css file for the app,
        // defined in .sencha/app/defaults.properties
        "path": "${build.out.css.path}",
        "bundle": true,
        "update": "full"
    }
],

事实上,它应该会起作用。这个问题是只针对某些特定的js还是针对所有js?您在生产环境或开发环境中遇到过这个问题吗?时间戳是针对请求的——每个请求都应该有一个新的时间戳(尽管如果您同时处理一个批,它可能是相同的)。缓存破坏参数的目的是强制缓存(如代理服务器)获取新版本。不过,有些缓存服务器并不尊重这一点。不过,您看到的是一个网络请求,这意味着浏览器至少正在尝试获取一个新版本…@yorlin似乎是在生产环境中发生的。开发不是问题,因为我总是在chrome中打开开发者工具栏,我认为这会禁用cachingThanks。。在我的app.json中,我得到了appcache:{“cache”:[“index.html”]}。您认为这会导致缓存问题吗?我建议您生成一个测试应用程序,并将其与您已有的应用程序进行比较。开箱即用,它不会给您带来任何问题,只有在您对它进行更改时。。