go gin 绑定静态文件 报错

2021-03-12 00:31:00 +08:00
 hujun528
func main(){

r := gin.Default()
r.POST("/api/CreateStrategy", createstrategy)
r.GET("/api/FreightSpaceStrategy", getFreightSpaceStrategyData)

//绑定静态文件夹
r.Static("/", "./dist")

}


报错内容
panic: wildcard segment '*filepath' conflicts with existing children in path '/*filepath'
1242 次点击
所在节点    问与答
5 条回复
dreamans
2021-03-12 10:51:18 +08:00
panic 的提示已经很明显了,假设你访问 /api/CreateStrategy 时程序无法判断你是访问./dist/api/CreateStrategy 这个文件路径还是 `createstrategy ` 这个 handler
hujun528
2021-03-12 11:19:32 +08:00
@dreamans 这个框架限制太死, “/" 作为整 个网站的静态目录 是很常见的 ,在 node.js 中,会优先去匹配 看是否有对应的静态文件,没有再去匹配 看是否有 绑定 对应的路由,在 gin 中 这样做竟然报错
togou
2021-03-12 12:42:40 +08:00
gin 这一点确实很恶心 路由搞个优先路由就行了 为了速度不值得
maypu
2021-03-27 14:39:11 +08:00
遇到了同样的问题
hujun528
2021-03-28 11:03:05 +08:00
@maypu 我解决了,new 一个新路由,绑定静态资源就不会冲突

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/760861

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX