2015-06-05 73 views
2

我希望使用Google App Engine在一个应用程序中提供静态文件和REST请求。在app.yaml中混合脚本和静态

我用这个的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!") 
} 

有可能吗?如果是,我该如何继续?

回答

1

是的,应用程序可以同时提供静态文件和动态内容。实际上它没有什么神奇的需求,这对于大多数Web应用程序来说都是正常的。

你的配置看起来不错。你应该改变一件事:你的文件包。

请勿使用包main,而应使用其他包,并确保将.go文件放入该文件中。例如,如果你的名字你包mypackage,使用此文件夹结构:

+ProjectRoot 
    app.yaml 
    +mypackage 
     myfile.go 

,开始你的myfile.go符合:

package mypackage 
相关问题