NIK*_*C M 4 ejs node.js express
我的 Node.js 缓存静态文件的代码如下:
app.use(express.static(path.join(__dirname, "public"),
{ maxAge: (process.env.NODE_ENV === "local") ? 0 : 31557600000 }));
Run Code Online (Sandbox Code Playgroud)
公共文件夹包含我的服务器的所有静态文件。
调用静态文件的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>
Run Code Online (Sandbox Code Playgroud)
但是当我访问该页面并检查 Chrome 上的网络选项卡时,我发现由于添加到静态文件 get 调用中的查询参数,浏览器不会从缓存加载文件,而是请求服务器。
为什么 a__SbCache被添加到这些静态文件中?由于此问题,静态文件缓存无法正常工作。
小智 5
我遇到了同样的问题,这只发生在 chrome 中。
我发现这是因为 chrome 扩展:Postman Interceptor 0.2.24
当我禁用它时,问题就消失了。