我的问题的症状几乎完全符合这个问题:Changed static files are cropped/padded to the new size and served the old - Fedora
每当我更改静态文件(例如.js和.css)时,这些更改都不会显示在服务文件中。但是,如果我的更改导致文件更改长度,则提供的文件 匹配新长度:
链接答案无法解决我的问题的原因是我没有使用Apache。我正在为Heroku编写一个Python Web应用程序,所以我使用的是gunicorn和Flask(因此也是Werkzeug)。链接的答案说在Apache中禁用sendfile解决了这个问题,所以我尝试将'USE_X_SENDFILE'变量设置为False,按照this page,但它没有帮助。我还将'SEND_FILE_MAX_AGE_DEFAULT'设置为1以进一步尝试防止某种缓存发生,这也没有帮助。
如果不是很明显,我真的不太了解配置网络服务器,所以在用完了相关的Google点击后,我对可能导致这种情况的原因感到茫然。帮助
答案 0 :(得分:4)
Virtualbox hates sendfile.如果您将其关闭,它应该可以正常工作。
例如,在nginx中,您需要添加sendfile: off;
。
在Apache中它只是EnableSendfile off
。
答案 1 :(得分:2)
最后,事实证明这可能是由VM问题引起的。有问题的代码位于Windows驱动器上,但是通过共享目录访问代码的Linux VM中提供服务。重新安装份额似乎解决了问题(尽管不一定可靠)。