node.js - Nodej.js:由于不必要的查询参数,静态文件缓存不起作用
问题描述
我的 Node.js 代码缓存静态文件如下:
app.use(express.static(path.join(__dirname, "public"),
{ maxAge: (process.env.NODE_ENV === "local") ? 0 : 31557600000 }));
公共文件夹包含我的服务器的所有静态文件。
调用静态文件的 html 代码(我正在使用 EJS)是:
<script src="/assets/js/slick.min.js"></script>
<script src="/assets/js/main.js"></script>
<!--for form validation -->
<script src="/assets/js/parsley.min.js"></script>
<script src="/assets/js/moment.min.js"></script>
<script src="/assets/js/wheelzoom.js"></script>
<script src="/assets/js/alertify.js"></script>
<script src="/assets/js/alertify.min.js"></script>
<script type="text/javascript" src="/assets/js/validator.min.js"></script>
<script src="/assets/js/owl.carousel.min.js"></script>
<script src="/assets/js/jquery.bootstrap.wizard.min.js"></script>
但是当我访问该页面并检查 chrome 上的网络选项卡时,我看到由于将查询参数添加到静态文件获取调用中,浏览器没有从缓存加载文件,而是请求服务器。
为什么将 a__SbCache
添加到那些静态文件中?由于这个问题,静态文件缓存无法正常工作。
解决方案
我有同样的问题,它只发生在 chrome 中。
我发现这是因为 chrome 扩展:Postman Interceptor 0.2.24
当我禁用它时,问题就消失了。
推荐阅读
- huggingface-transformers - 使用 Huggingface 转换器进行命名实体识别,映射回完整实体
- javascript - 如何为需要向其发送参数的函数设置时间驱动(时钟)触发器?
- python - 在线命令运行python程序的问题
- bash - Bash比较两个日期
- python - 使用 Tkinter 获取其他函数使用的文件路径
- c# - System.invalidoperationexception 序列不包含任何元素 Web Scraper
- datepicker - ngx-bootstrap datepicker 输出格式不是 ISO 格式
- oracle - gradle:无法从 maven 存储库中找到 oracle jdbc jar
- gulp - 在 gulp 中链接异步作业
- javascript - 如何从使用 javascript 扩展内容的页面中 __scrape__ 中的所有信息