登录
首页 >  Golang >  Go问答

CSS 未被 Go 服务器渲染

来源:stackoverflow

时间:2024-03-07 16:06:24 205浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《CSS 未被 Go 服务器渲染》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我使用 chi 作为路由器。 我的文件树是:

-cmd
     - web
          - main.go and some other go files here*
          - static
                - assets
                - some html files here*

我的路线设置如下:

mux := chi.newrouter()

mux.use(middleware.logger)
mux.use(middleware.setheader("cache-control", "no-store"))

mux.get("/about", app.servefile)
mux.get("/login", app.servefile)
mux.get("/register", app.servefile)
mux.get("/", app.servefile)

fileserver := http.fileserver(http.dir("./cmd/web/static/assets/"))
    mux.handle("/assets/", http.stripprefix("/assets/", fileserver))

这是我的index.html 文件的片段:


 

编辑1: 我使用 make 作为我的构建工具。以下是构建和运行网络的规则:

build_web:
    @echo "building projectName web..."
    @go build -o ${BINARY_DIR}/${WEB_BINARY_NAME} ./cmd/web/*.go
    @echo "projectName web built"

run_web:
    @echo "running projectName web..."
    @./${BINARY_DIR}/${WEB_BINARY_NAME} -environment ${PREF_ENV} -port ${WEB_PORT}

在本地主机上运行服务器,会呈现 html 页面,但不应用 css 规则。我检查了开发人员工具的网络选项卡,它显示所有资源(css/js/images)的状态代码 200。通过中间件记录器报告了相同的情况,即资产文件夹中所有文件的 200 状态代码。 我已经尝试了所有我能偶然发现的 stackoverflow 答案,但仍然没有运气。


正确答案


我最终如何解决这个问题: 我在浏览器中输入

/assets/css/style.css ,它返回 404 未找到页面。 尽管它在服务器日志中显示状态代码 200,但实际上并未提供该文件。因此,我将文件服务器上的路径从 /assets/ 更改为 /assets/* (此处:mux.Handle("/assets/*", http.StripPrefix("/assets/", fileServer)))它起作用了, 感谢@bayta-darrel 和@mkopriva 的帮助

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>