我正在测试我的应用程序 - 我已经使用 Node 和 Express 编写了后端,并使用 React 编写了前端。
我不是在模拟慢速网络 - 但我实际上正处于慢速网络中。
有时,使用 axios 的 xhr 请求 - 我已经在代码中编写了 实际上不起作用 - 因为网络请求缓存。
当我在单独的窗口中打开 Chrome 开发者控制台并选中“禁用缓存”按钮时,它工作得很好。
如何在不打开开发者控制台的情况下在 Chrome 中始终强制执行此“禁用缓存”。
还有其他浏览器有这个功能吗?
最佳答案
最好的方法是禁止直接从服务器缓存请求。很可能您不希望 API 调用被缓存。
const router = require('express').Router();
// Set no cache headers to ensure browsers (especially IE) don't cache the API requests
router.use((req, res, next) => {
res.setHeader('Expires', '-1');
res.setHeader('Cache-Control', 'no-cache');
next();
});
这应该位于您的 Express 应用程序的顶部,s.t.所有请求都会传递到此过滤器。此外,如果您希望缓存某些请求,只需将它们写入此处理程序上方即可。
关于node.js - 如何始终禁用 Chrome 网络缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47036227/