2014-07-26 2 views
-1

안녕하세요 저는 마티니 프레임 워크를 통해 정적 index.html 페이지에 액세스하여 표시하려고합니다. 하지만 나는 항상 404 오류를 찾을 수 없습니다. .html 파일은/public 디렉토리가/go/src/github.com/user/디렉토리에있는 public/index.html에 있습니다. Hello World를 표시 할 수 있습니다! 코드를 통해 마티니 경유 -martini 프레임 워크를 통해 정적 웹 페이지 index.html에 액세스 할 수 없습니다.

package main 

    // loading in the Martini package 
    import "github.com/codegangsta/martini" 

    func main() { 
     // if you are new to Go the := is a short variable declaration 
     m := martini.Classic() 

     // the func() call is creating an anonymous function that retuns a stringa 
     m.Get("/", func() string { 
     return "Hello World !!" 
     }) 

     m.Run() 

} 

그래서 마티니는 올바르게 조용하게 구성되어야합니다. 하지만 정적 웹 페이지에 액세스하려고 할 때 -

package main 

import (
     "github.com/codegangsta/martini" 
     //"log" 
     //"net/http" 

) 

func main() { 
     m := martini.Classic() 
     m.Run() 
} 

로컬 라이크시 : 3000에서 404가 표시됩니다. 어떻게하면 html 파일에 액세스 할 수 있습니까?/사용자/shrinr/go_projects/이동 :

PS - 내 $의 GOPATH는 C이고, 도움이되지 않습니다 m.Use(martini.Static("C:/Users/shrinr/go_projects/go/bin/public")) 를 사용하여 - 나는 여기 - https://gophercasts.io/lessons/3-martini-and-markdown

편집 언급 비슷한 할 노력하고 있어요.

+0

http://golang.org/pkg/os/#Getwd를 사용하여 반환 된 값 (log.Println)을 인쇄하십시오. 우리는 당신이 안전하게'go run '을 사용하지 않는다고 가정 할 수 있습니까? – elithrar

+0

예'go run main.go' 명령을 사용하여 .go 파일을 시작/배포합니다. – dupree

답변

0

표준 절차 인 Go ($GOPATH)를 사용하여 프로그램을 컴파일한다고 가정하면 이진 파일이 public/ 폴더와 같은 디렉터리에 있지 않은 것이 문제입니다. $GOPATH/bin 폴더에 저장해야합니다 (바이너리가 있어야합니다).

+0

안녕하세요, 공용/폴더를 $ GOPATH \ bin 폴더로 옮겨서 다시 시도했지만 동일한 문제가 계속 발생합니다. My $ GOPATH 변수가 C : \ Users \ usrname \ go_projects \ go로 설정되었습니다. – dupree

+0

'http : // localhost : 3000' 또는'http : // localhost : 3000/index.html'에 액세스하려고 했습니까? 마티니가 자동 색인 생성을 처리하지 않는다고 생각합니다 ... – Elwinar