第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如果 URL 與 Go 中的任何模式都不匹配,如何提供文件?

如果 URL 與 Go 中的任何模式都不匹配,如何提供文件?

Go
茅侃侃 2022-01-04 10:27:12
我正在使用 Angular 2 和 Go 構(gòu)建一個(gè)單頁應(yīng)用程序,在 Angular 中我使用路由。如果我打開網(wǎng)站,比如說,http://example.com/Go 將為我提供我的index.html文件,這很好,因?yàn)槲覍懥诉@個(gè):mux.Handle("/", http.FileServer(http.Dir(mysiteRoot)))現(xiàn)在我在 Angular 中有一個(gè)路由,比方說,/posts如果它是默認(rèn)路由(即何時(shí)useAsDefault是true),或者如果我只是手動(dòng)轉(zhuǎn)到http://example.com/posts,我將收到來自 Go 的 404 錯(cuò)誤,這意味著沒有指定處理程序?qū)τ谶@條路。我不認(rèn)為在 Go 中為每條 Angular 路由創(chuàng)建處理程序是一個(gè)好主意,因?yàn)榭赡苡泻芏嗦酚?。所以我的問題是,index.html如果請(qǐng)求 URL 與我在ServeMux?
查看完整描述

2 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

嗯,這實(shí)際上很容易。該net/http文件說,這樣的:


請(qǐng)注意,由于以斜杠結(jié)尾的模式命名了有根子樹,因此模式“/”匹配其他注冊(cè)模式不匹配的所有路徑,而不僅僅是帶有 Path ==“/” 的 URL。


所以我需要對(duì)我的"/"處理程序做一些事情。http.FileServer在模式字符串中指定的目錄中查找文件,因此我將其替換為:


mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {

    http.ServeFile(w, r, mysiteRoot + "index.html")

})

它工作得很好。


查看完整回答
反對(duì) 回復(fù) 2022-01-04
?
天涯盡頭無女友

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊

我認(rèn)為您需要更改 angular2 應(yīng)用程序中的 URL 提供程序設(shè)置以使用HashLocationStrategy。使用它,您的路線將采用以下形式

#/帖子

并且不會(huì)在您的 golang 應(yīng)用程序中觸發(fā)任何路由。


查看完整回答
反對(duì) 回復(fù) 2022-01-04
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)