我在appengine-web.xml中使用以下内容在 appengine 中启用了静态图像文件的缓存:
<static-files>
<include path="/css/images/**.gif" expiration="1d" />
<include path="/css/images/**.png" expiration="1d" />
<include path="/css/images/wind_pointers/*.png" expiration="7d" />
<include path="/css/images/**.jpg" expiration="1d" />
<include path="/errors/*" />
</static-files>
这工作得很好,直到我发现一个奇怪的副作用:有时,appengine 提供了一个包含我的 HTML 页面内容的 JavaScript 文件,所以结果是我收到大量 JavaScript 错误,因为 JavaScript 解释器被输入的是 HTML 而不是 JS :
现在,如果我简单地注释掉我上面提到的appengine-web.xml中的静态文件部分,一切正常:.js 文件提供了它们自己的内容,我没有问题:
这对我来说似乎很奇怪。.js 文件甚至不在该静态文件部分中指定的目录中。我的appengine-web.xml中是否有语法错误导致一些奇怪的错误出现?
幸运的是,通过简单地注释掉appengine-web.xml中的静态文件部分,我能够在部署的应用程序和我的本地开发服务器上轻松可靠地重现这一点。它发生在 Chrome 和 IE 中。我正在使用 Java 应用引擎。