我试图使用谷歌应用引擎云空间。我的程序在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
答案 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
选项。