在 GamiLMS 中並沒有大量的伺服器渲染的部分,屬於前後分離的服務應用。
也因此我們能夠專注於部分,逐步重構,在新舊並存的情形下完成新技術轉移。
首先從後端 API 開始搬移API
搬移靜態檔案,也就是屬於client端的部分
mux := http.NewServeMux()
files := http.FileServer(http.Dir("public"))
mux.Handle("/static/", http.StripPrefix("/static/", files))
利用 net/http 函式庫中的 http.NewServeMux 來建立路由。
http.FileServer 來建立靜態檔案系統。
http.Dir 是獲取檔案目錄。
mux.Handle 用來導向,其中把有 "/static/" 前綴的要求,導向靜態檔案系統。
http.StripPrefix 是用來移除指定的 URL 前綴,並將正確的檔案位置傳入靜態檔案系統,
我們就完成了靜態檔案的 API 了。