Express静态文件未更新

时间:2016-11-29 21:42:10

标签: html node.js express

我正在使用express运行本地服务器。服务器能够显示我在计算机中获得的一些本地文件。其中有一个名为“lastResult.txt”的文件,每次运行脚本bash脚本时都会更新。

出于某种原因,当我运行服务器并尝试显示该文件时,它显示一周前的版本,即使该文件已在本地更新。即使在重新启动服务器甚至在不同的浏览器上,这仍然存在。

我正在使用serve-index模块来显示目录

2 个答案:

答案 0 :(得分:1)

您没有说明如何使用express.static或一些自定义处理程序来提供静态文件。 express.static不会缓存文件,但您的自定义处理程序可能会。在任何情况下,这些文件都可以缓存在客户端上,具体取决于ETag和Max-Age的值,但即使这样,在使用其他浏览器访问后也不会存在。

根据您的描述,您似乎没有更新正确的文件,也没有更新正确的目录。当然不可能确定,因为你甚至不包括你的代码的一行,所以人们只能猜测,但似乎是这种情况。

答案 1 :(得分:0)

这个问题已经回答了。
如果有人需要这样的问题示例(这是不明显的),我会添加它。

使用EJS和express时遇到类似的问题。

  • 我正在导入标题。
  • 标头加载了CSS。
  • 在两个不同的文件夹中有一个名为base.css的CSS文件(相同的CSS文件名是两个不同的文件夹 projectroot / pages / base.css && projectroot / views / base.css < / em>)
  • header.ejs文件所在的文件夹是 projectroot / views / (这是我想要的base.css)
  • 从路径角度来看,有意加载其他css文件应该需要:../pages/base.css
  • 为明确起见,我应该像这样在本地目录中引用CSS文件:./base.css,但我却像base.css一样引用了它
  • 令人惊讶的是,正在加载的CSS文件是 projectroot / pages / 目录中的文件,而不是 projectroot / views / 目录
  • 更改对./base.css的引用即可解决问题