0

如果存在另一个目录,是否可以选择性地覆盖 Google App Engine app.yaml文件中的静态文件目录?我有一个源目录(未缩小)和一个构建目录(缩小并连接)。如果存在,我希望 Google App Engine 自动使用 build 目录而不是 src 目录。这样我就可以使用 src 目录进行开发,然后创建一个构建并部署它。然后,如果我删除构建目录,GAE 会返回从 src 目录提供我的静态文件。

我需要这样做的原因是因为我正在构建一个使用 Backbone.js 和 Require.js 作为模块的应用程序。我需要能够优化我的代码和部署,而无需每次都更改我的 app.yaml 文件。

4

2 回答 2

2

我对我当前的系统非常满意,我的框架在模板中使用不同的路径指向源 javascript 文件。然后在启动时,通过检查 os.environ 和 get_application_id() 的组合,我会自动检测我是在本地 dev_appserver 上运行,还是在 GAE 上的测试 appid 或生产 appid 下运行。

进入下一步,您很可能希望积极缓存您的缩小 JS,在这种情况下,您将无法强制客户端更新新版本。典型的解决方法是在缩小的 js 文件名更新时附加一个哈希或日期字符串。这也是您需要在框架/模板层而不是 app.yaml 中执行的操作。

于 2013-03-12T21:27:25.127 回答
1

我会在模板层执行此操作 - 当您渲染包含资产链接的模板时,请检查是否存在缩小版本。如果是,则链接到那个 - 否则,链接到未缩小的版本。

如果您在未创建构建的情况下意外部署,这也会有所帮助——您将只提供未优化的资产。

于 2013-03-12T21:24:28.563 回答