作者:玄魂

出处:http://www.cnblogs.com/xuanhun/

1.在开发者工具中禁用缓存

2.14. node-webkit教程(14) 禁用缓存 - 图1

上面这张图,是在node-webkit 中 在开发工具中配置禁用缓存的选项。

使用这个选项可以有效的禁用所有页面缓存。

2. 在配置文件中,配置webkit 缓存禁用和启用

  1. {
  2. "name": "name",
  3. "description": "description",
  4. "version": "0.1",
  5. "main": "https://path-to-intranet-site/",
  6. "node-remote": "https://path-to-intranet-site",
  7. "webkit": {
  8. "page-cache":false
  9. },
  10. "window": {
  11. "show": true,
  12. "toolbar": true,
  13. "frame": true,
  14. "position": "center",
  15. "width": 800,
  16. "height": 600,
  17. "min_width": 220,
  18. "min_height": 220
  19. }
  20. }

上面配置加粗的部分为禁用页面缓存。但是经过我的实验,仿佛页面缓存和node-webkit本身的缓存是两个不同的概念。

而且文档上说默认情况下页面缓存的值就是false。

3.临时解决方案,不停的清除缓存

在开发过程中,我遇到了很多诡异的问题,都是由于node-webkit的缓存引起的。但是没有找到禁用缓存的api,能起到像方案1那样在开发者工具中禁用缓存的效果。

但是找到了清除缓存的api gui.App.clearCache();

要想达到禁用的效果,必须不停的清空缓存。

-———————————几天之后—————————-

4. 使用Window.disableCache(bool) api

我在github上向node-webkit作者提交了关于清除缓存的bug。作者响应很迅速,在12月2号编译的 的版本中

http://dl.node-webkit.org/live-build/12-02-2014/831a6af-dad58ea-344f210-f2f89e2-d9a9d39-cdd879e/

提供了Window.disableCache(bool) api,用来禁用缓存。

现在再也不用纠结了。