在我正在开发的一个项目中,我使用了几个 Python 项目作为依赖项。这些项目都带有静态文件(JavaScript、图像等)和一组处理程序(带有默认 URL)。为了注册处理程序的 URL,我将它们添加到 WSGI 应用程序的路由中。然而,静态文件需要在 app.yaml 中注册。这是我想避免的事情,因此注册处理程序 URL 和静态文件变得轻而易举。
我考虑过实现一个请求处理程序,该处理程序获取文件位置并使用 HTTP 缓存为其提供服务(就像我认为默认的静态处理程序一样)。
我和一位同事讨论过这个想法,他认为这是一个坏主意。他告诉我,在 app.yaml 中注册静态文件时,文件以更优化的方式提供(可能没有 Python)。
在我去实现一个静态处理程序之前,我想听听这两种方法的优缺点是什么,以及静态处理程序的想法是否是个好主意。
在当前项目中,我们让 Buildout 从模板生成 app.yaml。静态文件被添加在那里。(明显的)缺点是这个过程容易出错(如果自动完成)或冗余(如果手动完成)。