我正在开发一个Golang数据库项目,我想在其中使用React来创建前端。我正在使用链接到我的index.html的反应脚本。
当我直接打开index.html时,我的反应脚本正常工作,页面格式正确。但是,当我尝试通过我的服务器打开页面时,找不到脚本,我收到404错误:
::1 - - [15/Feb/2017:16:16:24 -0500] "GET /build/react.js HTTP/1.1" 404 19
为了从我的Golang服务器访问index.html,我使用:
r.Handle("/", http.FileServer(http.Dir("./views")))
我认为问题在于使用http.FileServer来访问html。我已经尝试在各种位置查找我的构建文件夹,最近在views文件夹中,总是具有相同的结果,当直接打开html时,react脚本工作,但是当我的服务器访问html时它们不起作用。
我是否应该使用另一种方法来完成此任务,或者我是如何组织我的依赖项的?
答案 0 :(得分:0)
我通过添加:
解决了这个问题r.PathPrefix("/build/").Handler(http.StripPrefix("/build/", http.FileServer(http.Dir("./build/"))))
在我的main函数中,以便为react脚本提供服务。我的文件结构是:
main.go
views
-- index.html (views/index.html)
build
-- react.js (build/react.js)
-- react-dom.js (build/react.js)
-- other react scripts...
希望这有助于其他可能正在处理此问题的人。