Дерево каталогов:
.
├── main.go
└── web
├── app.go
└── views
├── index.html
└── js
└── app.jsx
Это работает:
package main
import (
"net/http"
)
func main() {
http.Handle("/", http.FileServer(http.Dir("./web/views")))
http.ListenAndServe(":3000", nil)
}
Но это возвращает 404 page not found
:
main.go:
package main
import (
"{dir with main.go}/web"
)
func main() {
web.StartHttp()
}
app.go:
package web
import (
"fmt"
"net/http"
)
func StartHttp() {
fmt.Println("STARTHTTP - CHECK 01")
http.Handle("/", http.FileServer(http.Dir("./views")))
http.ListenAndServe(":3000", nil)
}
Терминал печатает STARTHTTP - CHECK 01
, поэтому вызывается функция StartHttp()
, и терминал запрашивает разрешение на входящие сетевые подключения, поэтому сервер http, похоже, прослушивает порт.
Существует ли какой-либо тип контекста, который не передается другому пакету?