Nodej.js:由于不必要的查询参数,静态文件缓存无法正常工作

时间:2018-11-23 11:04:08

标签: node.js express ejs

我的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上的网络标签时,我发现由于将查询参数添加到静态文件中而导致调用,浏览器未从缓存加载文件,而是请求服务器。

enter image description here

为什么要向这些静态文件中添加__SbCache?由于此问题,静态文件缓存无法正常工作。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,只发生在铬中。

我发现这是由于Chrome扩展名引起的:邮递员拦截器0.2.24

当我禁用它时,问题消失了。