如何在App Engine中映射静态处理程序?

时间:2014-09-30 21:38:21

标签: google-app-engine handler yaml

我刚开始学习如何开发App Engine,我正在尝试组织我的文件结构,并且我在这个层次结构下有我的静态文件:

  

根/主题/默认/资产/样式

我的css文件和我的js在:

  

根/主题/默认/资产/脚本

当我将AE放入这些文件夹时,我无法获取AE来提供文件。如果我把css和js文件放在:

  

根/主题/默认/资产

如果我在app.yaml中使用以下内容,我没有将它们提供给浏览器的问题:

- url: /themes/(.+)/assets/(.+)
  static_files: themes/\1/assets/\2
  upload: themes/(.+)/assets/(.+)

我试过follow the docs尝试了几种方法,但我只是没有得到它。我的问题是编写处理程序以使用我的组织结构来获取这些文件的正确方法是什么?

感谢您的帮助。日Thnx

3 个答案:

答案 0 :(得分:1)

可能你的正则表达式太贪婪了 - 试试像

这样的东西
- url: /themes/(.+)/assets/(styles|scripts)/(.+)
  static_files: themes/\1/assets/\2/\3
  upload: themes/(.+)/assets/(styles|scripts)/(.+)

答案 1 :(得分:1)

除非你试图捕捉一些非常特别的404,否则我会使用这样的东西:

- url: /themes
  static_dir: themes

答案 2 :(得分:0)

原来我尝试的所有方法都有用(包括上面的答案 - 所以我加了他们)。它们之所以不是因为存在Git没有部署文件夹的问题,这是一个糟糕的时机让我觉得这是我。一旦文件夹被部署,一切都按预期工作。

Thnx再次为您提供帮助。