2015-06-05 69 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 
相關問題