在Google应用引擎中上传时无法提供的静态文件(SDK Go)

时间:2017-02-02 10:25:28

标签: google-app-engine go

我试图使用谷歌应用引擎云空间。我的程序在localhost中运行没有任何问题,但当我尝试在谷歌应用程序引擎中托管它时,不提供静态文件。 app.yaml如下:

application: myTestApp-nn34322
version: 1
runtime: go
threadsafe: true
api_version: go1

handlers:
- url: /static/css
  static_dir: ../static/css
  mime_type: "text/css"

- url: /static/js
  static_dir: ../static/js
  mime_type: "text/javascript"

- url: /static/images
  static_dir: ../static/images

- url: /.*
  script: _go_app

1 个答案:

答案 0 :(得分:1)

您应该将每个静态资源放在放置app.yaml文件的同一文件夹下,否则他们将无法上传到AppEngine。

因此,您应将static文件夹放在app.yaml旁边,当然正确的路径只是static/xxx,例如:

- url: /static/css
  static_dir: static/css
  mime_type: "text/css"

- url: /static/js
  static_dir: static/js
  mime_type: "text/javascript"

- url: /static/images
  static_dir: static/images

注意:

如果您打算使用Go应用程序中的这些静态文件(例如,您想要阅读其内容),则需要特殊处理,因为上传后静态文件模式匹配的资源不会被复制到应用程序(静态文件是由不同的服务器提供)。有关详细信息,请参阅Google App Engine Golang no such file or directory。基本上你要么必须复制静态文件,要么为静态文件处理程序提供application_readable选项。