You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Go递归托管静态文件时SvelteKit静态资源加载异常问题

SvelteKit静态文件部署:_app目录文件无法加载的解决方案

你的Go后端当前仅配置了根路径的静态文件服务,当请求/_app下的资源时,路由未将请求映射到static目录的对应文件,导致404错误。即便移除HTML文件后能看到目录列表,点击子路径时依然无法正确匹配文件。

解决方案

修改Go路由配置,使用PathPrefix("/")匹配所有静态文件请求,确保子路径请求能正确映射到static目录:

func main() {
    router := mux.NewRouter()
    // 替换原根路径处理逻辑,用PathPrefix匹配所有静态文件请求
    router.PathPrefix("/").Handler(http.FileServer(http.Dir("static")))
    router.HandleFunc("/large-files", largeFilesHandler).Methods("OPTIONS", "POST")
    router.HandleFunc("/delete-file", deleteFileHandler).Methods("DELETE", "OPTIONS")
    logrus.SetLevel(logrus.ErrorLevel)
    err := http.ListenAndServe(":8000", router)
    if err != nil {
        logrus.Fatal(err)
    }
}

注意事项

  • 确认SvelteKit构建完成后,static目录下存在完整的_app文件夹及相关文件,验证npm run build等构建命令执行成功。
  • mux路由会优先匹配更具体的路径,因此你的接口路由(/large-files、/delete-file)会被优先处理,不会被静态文件服务覆盖。

内容的提问来源于stack exchange,提问作者Brandon Kauffman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:03:37