Go 通过处理模板来解决语言奇怪的行为

Go 通过处理模板来解决语言奇怪的行为,go,templates,Go,Templates,你好! 我现在正在学习Go语言,并尝试移植一些简单的WEB代码Laravel4。 一切都很好,直到我尝试将刀片模板复制成文本模板。 我发现Go只能从目录中加载CSS和JavaScript文件,而目录名只能是bootstrap 以下是我尝试使用的目录树: 如果目录名与bootstrap Go language不同,或者Firefox无法从上面的模板加载文件:bootstrap.min.css、bootstrap.min.js、jquery。 如果我不使用链接,而是直接使用目录名bootstrap

你好!

我现在正在学习Go语言,并尝试移植一些简单的WEB代码Laravel4。 一切都很好,直到我尝试将刀片模板复制成文本模板。 我发现Go只能从目录中加载CSS和JavaScript文件,而目录名只能是bootstrap

以下是我尝试使用的目录树:

如果目录名与bootstrap Go language不同,或者Firefox无法从上面的模板加载文件:bootstrap.min.css、bootstrap.min.js、jquery。 如果我不使用链接,而是直接使用目录名bootstrap-3.3.1,那么就不能加载或Firefox。 如果所有需要的文件都在引导下移动,我将得到与Laravel4完全相同的结果

要启动go语言代码,使用命令go run go_prg.go。 环境:Ubuntu 14.04,go-1.3.3,Firefox 31

谁错了:去语言,Firefox还是我


任何帮助都将不胜感激

所描述的问题是由

在处理任何模板之前。它只允许访问“bootstrap”目录下的文件

该问题已通过更改为解决 Handle、http.StripPrefix、http.FileServerhttp.Dir。 以及添加到CSS和JavaScript文件的路径。像这样


/bootstrap/js/jquery>

导致您出现问题的Go代码在哪里?@Greg,Go代码中没有问题,只是使用了一个文件目录。如果所有文件都驻留在引导目录中,则结果与预期一致,否则-浏览器无法找到所需文件。请在加载静态目录的位置发布go代码。这似乎是一条路problem@greg对不起,你是对的,问题出在我身上,我的代码见main函数。我没有注意http.Handle:func main{flag.Parse http.Handle/bootstrap/,http.StripPrefix/bootstrap/,http.FileServerhttp.Dirbootstrap http.HandleFunc/fima/,rootHandler if*addr{l,err:=net.Listentcp,127.0.0.1:0如果err!=nil{log.Fatalerr}err=ioutil.writefinal-port.txt,[]bytel.Addr.String,0644如果错误!=nil{log.Fatalerr}s:=&http.Server{s.Servel return}http.ListenAndServe:1234,nil}请接受我的道歉,因为这是我的第一篇文章,我不知道如何格式化comments.func main{flag.Parse http.Handle/bootstrap/、http.StripPrefix/bootstrap/、http.FileServerhttp.Dirbootstrap//此行导致了http.HandleFunc/fima/所述的问题,rootHandler//此行处理页面 start-catalog bootstrap (link to bootstrap-3.3.1) bootstrap-3.3.1 css bootstrap.min.css js bootstrap.min.js jquery jquery (link to jquery-2.1.1.min.js) jsquery-2.1.1.min.js go_prg.go Here are my templates:

base_js.tmpl

{{define "base_js"}}
      {{template "login_1"}}

      <script src = "/bootstrap/js/jquery"></script>
      <script src = "/bootstrap/js/bootstrap.min.js"></script>
{{end}}
http.Handle("/bootstrap/", http.StripPrefix("/bootstrap/", http.FileServer(http.Dir("bootstrap"))))