好吧, 连图片都发不了
// server
package main
import (
"html/template"
"io/ioutil"
"log"
"net/http"
"path"
"runtime"
)
var templates = make(map[string]*template.Template)
func init() {
runtime.GOMAXPROCS(runtime.NumCPU())
tpls, err := ioutil.ReadDir("../template")
checkErr(err)
for _, tpl := range tpls {
tplName := tpl.Name()
if ext := path.Ext(tplName); ext != ".htm" {
continue
}
tplPath := "../template/" + tplName
log.Println("loading template:", tplPath)
t := template.Must(template.ParseFiles(tplPath))
templates[tplName] = t
}
}
func main() {
http.Handle("/static/", http.FileServer(http.Dir(".")))
mux := http.NewServeMux()
for url, handle := range handlers {
mux.HandleFunc(url, handle)
}
http.Handle("/", mux)
log.Fatal(http.ListenAndServe(":8080", mux))
}
代码是这样的
E:/blog
----server
----server.go
----other.go
----static
----template
结构是这样的, 但是我试了好几次都没加载出来静态文件, 是哪里写的不对不
一直以为路径问题呢, 结果刚刚打开 firebug, 发现提示
` http://localhost:8080/static/css/pt_lib_macro.css 未载入,因为它的MIME类型 "text/html" 不是 "text/css"`
话说 mime 这包没有看懂, 不知道怎么设置mime.types <a href="/user/polaris" title="@polaris">@polaris</a>
#2
更多评论
试试:`http.Handle("/static/", http.FileServer(http.Dir(ROOT)))`
其中 ROOT 是项目根目录,也就是 src 目录所在的目录
#1