Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何正确配置Golang gorilla/pat路由器以服务静态资产文件夹?_Css_Go_Gorilla - Fatal编程技术网

Css 如何正确配置Golang gorilla/pat路由器以服务静态资产文件夹?

Css 如何正确配置Golang gorilla/pat路由器以服务静态资产文件夹?,css,go,gorilla,Css,Go,Gorilla,我有两个html文件,解析如下: var LoginTemplate = template.Must(template.ParseFiles( "views/_base.html", "views/login.html", )) 并据此执行: func LoginFormHandler(w http.ResponseWriter, r *http.Request, ctx *models.Context) error { err := LoginTemplate.Exe

我有两个html文件,解析如下:

var LoginTemplate = template.Must(template.ParseFiles(
    "views/_base.html",
    "views/login.html",
))
并据此执行:

func LoginFormHandler(w http.ResponseWriter, r *http.Request, ctx *models.Context) error {
    err := LoginTemplate.Execute(w, ctx)

    if err != nil {
        http.Error(w, err.Error(), 404)
    }
    return nil
}
以下是_base.html的内容:

<!DOCTYPE html>
<html lang="en">

  <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <!-- Meta, title, CSS, favicons, etc. -->
      <meta charset="utf-8">

      <title>{{ template "title" . }}</title>

      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      {{ template "styles" . }}
      {{ template "scripts" . }}
  </head>

  {{ template "content" . }}

</html>
然而,在构建并运行我的程序,然后导航到本地主机时,我看到CSS或js似乎都并没有呈现。我的css和js文件夹位于此树中:

根/

资产/

css/
js/


我也尝试过将字符串参数“assets”传递给http.Dir。您是否从
assets/
文件夹所在的目录运行程序?具体来说,您应该执行
go build&./
而不是
go run main.go
(将从临时目录运行它)是的,我的主函数驻留在名为femp.go的文件中,该文件与assets/位于同一目录中。然后(在我的Windows计算机上)
femp.exe--settings=settings.xml
,其中settings是一个自定义标志,用于解组包含服务器和数据库规范的xml文件。@bama\u程序员可以显示模板脚本吗
router.PathPrefix("/assets/").Handler(http.StripPrefix("/assets/", http.FileServer(http.Dir("./assets/"))))

  if err := http.ListenAndServe(":"+settings.Server.Port, router); err != nil {
        panic(err)
  }