我希望在一个应用程序中使用Google App Engine来提供静态文件和REST请求。
我使用这个app.yaml
application: test
version: 1
runtime: go
api_version: go1
default_expiration: "7d 5h"
handlers:
- url: /(index.html)?
static_files: static/app/index.html
upload: static/app/index.html
http_headers:
Content-Type: text/html; charset=UTF-8
- url: /
static_dir: static/app/
http_headers:
Vary: Accept-Encoding
- url: /.*
script: _go_app
它适用于静态文件,但我无法访问我的脚本。
package main
import (
"fmt"
"net/http"
)
func init() {
http.HandleFunc("/hello_world", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello, world!")
}
有可能吗?如果是,我该怎么办?
答案 0 :(得分:1)
是的,应用程序可以同时提供静态文件和动态内容。实际上并没有什么神奇的要求,这对大多数网络应用来说都是正常的。
您的配置看起来不错。你应该改变一件事:go文件包。
请勿使用包main
,而是使用其他包,并确保将.go
文件放入其中。例如,如果您为包mypackage
命名,请使用此文件夹结构:
+ProjectRoot
app.yaml
+mypackage
myfile.go
用行开始myfile.go
:
package mypackage