首頁 > 後端開發 > Golang > 如何在我的 Go Web 應用程式中提供靜態資源(CSS 和 JS)?

如何在我的 Go Web 應用程式中提供靜態資源(CSS 和 JS)?

Susan Sarandon
發布: 2024-12-20 02:23:08
原創
704 人瀏覽過

How Can I Serve Static Assets (CSS & JS) in My Go Web Application?

使用Go 提供靜態資源

正如您在Go 編寫Web 應用程式教學中提到的,您在服務CSS 和JS 時遇到了困難去申請。讓我們深入研究這個問題並提供解決方案。

問題:

運行Go 伺服器時,CSS 和JS 資源無法訪問,儘管靜態時工作正常頁面被訪問

解決方案:

要解決此問題,您需要設定Go應用程式來處理和提供靜態資產。這是 main 函數的更新版本:

func main() {
    http.HandleFunc("/view/", makeHandler(viewHandler))
    http.HandleFunc("/edit/", makeHandler(editHandler))
    http.HandleFunc("/save/", makeHandler(saveHandler))
    http.HandleFunc("/index/", makeHandler(indexHandler))

    http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))

    http.ListenAndServe(":8080", nil)
}
登入後複製

在此程式碼中,我們使用 http.Handle 函數將「/static/」路徑對應到從「static」目錄提供檔案的處理程序。 http.FileServer 建構子建立一個處理程序,為給定目錄中的檔案提供服務,而 http.StripPrefix 在提供檔案之前從請求的路徑中刪除「/static/」前綴。

透過以這種方式配置您的應用程序,當向“/static/css/...”發出請求時,您指示伺服器從“static”目錄提供CSS 和JS 文件,或“/ static/js/...」。

附加說明:

  • 確保「static」目錄存在於您的專案中並包含所需的 CSS 和 JS 檔案。
  • 調整http.Handle 函數中的「/static/...」路徑以符合您所需的靜態資源
  • 您為「/view/」、「/edit/」、 “/save/”和“/index/”提供的處理程序已正常註冊,不會影響靜態資源服務。

以上是如何在我的 Go Web 應用程式中提供靜態資源(CSS 和 JS)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板