【发布时间】:2023-06-02 20:12:01
【问题描述】:
我制作了一个应用程序,我需要为多个路由提供相同的文件,因为前端是一个 React 应用程序。我一直在为路由器使用 gorilla mux。 文件结构如下:
main.go
build/
| index.html
| service-worker.js
static/
| js/
| main.js
| css/
| main.css
文件被引用假定它们位于文件目录的根目录。所以在 html 文件中,他们被要求像'/static/js/main.js'。
主要我的路线定义如下:
r.PathPrefix("/student").Handler(http.StripPrefix("/student",http.FileServer(http.Dir("build/")))).Methods("GET")
r.PathPrefix("/").Handler(http.FileServer(http.Dir("build/"))).Methods("GET")
这样我就可以在“/”和“/student”路径中获得 index.html 文件。如果我让它们绕过“/学生”路径,则会出现 404 错误。所以我要问的是,是否有另一种方法可以为这两个路由提供相同的内容,这样我就不必为我的网络应用程序中的每个视图定义一个路由。
【问题讨论】:
-
这是假定的重复[1] 的答案,不回答 Teodor 的问题。他已经在他的原始代码中使用了 PathPrefix。 1:*.com/questions/43943038/…