提供angularjs路线go-lang

时间:2015-09-12 02:18:14

标签: angularjs go

我正在使用以下代码来为Angular应用程序提供服务。

package main

import (
    "github.com/gorilla/mux"
    "log"
    "net/http"
)

func main() {
    r := mux.NewRouter()
    r.PathPrefix("/portals/").Handler(http.StripPrefix("/portals/", http.FileServer(http.Dir("./portals/"))))
    r.PathPrefix("/dependencies/").Handler(http.StripPrefix("/dependencies/", http.FileServer(http.Dir("./dependencies/"))))
    r.HandleFunc("/registeruser", UserRegistrationHandler)
    r.HandleFunc("/deleteuser/{username}", DeleteUserHandler)
    http.Handle("/", r)

    log.Println("Listening...")
    http.ListenAndServe(":8000", r)
}

如果我导航到http://localhost:8000/portals/,则可以使用所有依赖项正确呈现网站。但是http://localhost:8000/portals失败并且找不到404。

同样,如果我导航到http://localhost:8000/portals/#login,它会按预期工作。但如果我导航到http://localhost:8000/portals/login,则会给出404。

我注意到的另一件事是http://localhost:8000/portals/login如果我通过应用程序内的链接(比如登录链接)导航到它,则会有效。但是,如果我在浏览器中键入url并按Enter键,则会显示404。

这里缺少什么部分?我是否错误地处理了静态内容?

1 个答案:

答案 0 :(得分:0)

您需要在angularjs中启用html5mode