gpt4 book ai didi

go - 我的静态文件没有正确呈现

转载 作者:数据小太阳 更新时间:2023-10-29 03:32:42 27 4
gpt4 key购买 nike

在我的 html 页面中,我引用了如下静态 Assets :

 <script src="/static/assets/js/bundle.js"></script>

   <link rel="stylesheet" href="/static/assets/css/style.css">

这些文件存储在:

/assets/js/bundle.js
/assets/css/style.css

目前我的路线是这样的:

app.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("/assets"))))

目前它不工作,当我查看 chrome 控制台时返回 404 未找到错误。

我在这里做错了什么?

最佳答案

问题在于您在这一行调用 http.Dir("/assets"):

app.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("/assets"))))

http.Dir 采用绝对形式或相对于 go 可执行文件所在位置的文件夹路径。使用 "/assets" 告诉它 assets 文件夹的绝对路径在文件系统的根目录中,实际上我猜 assets 文件夹在类似 /home 的地方/YOUR_USER_FOLDER/code/this_project/assets

只需更改代码以使用绝对路径:

app.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("/home/YOUR_USER_FOLDER/code/this_project/assets"))))

如果 assets 文件夹与 go 可执行文件位于同一位置,您可以只使用 "assets" 作为文件路径,但我建议使用绝对路径避免混淆的路径。

关于go - 我的静态文件没有正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50205200/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com