用Go net / http服务链接的css和js

时间:2014-09-24 20:52:20

标签: go

我无法使用链接的css和脚本文件制作net / http serve html文件。

我有

site/lib/ratchet/css/ratchet.css
site/lib/ratchet/js/ratchet.js

在我的项目文件夹结构中,

site/src/index.html

在这个index.html中我已经包含了两个文件

<link href="../lib/ratchet/css/ratchet.css" rel="stylesheet">

<script src="../lib/ratchet/js/ratchet.js"></script>

和Go功能是:

func index(w http.ResponseWriter, r *http.Request) {
    http.ServeFile(w, r, "/Users/faruk/dev/otp/site/src/index.html")
}

在main()中:

r.HandleFunc("/", index).
    Methods("GET")

我在上面使用gorilla / mux。

我可以从浏览器中查看它,但只能使用html。这两个链接文件已被赋予404。

为了这个目的,http.ServeFile无法自动解析链接的css和js文件以提供index.html或类似的文件吗? 在Go net / http中提供html文件的标准方法是什么?

1 个答案:

答案 0 :(得分:0)

您需要设置文件服务器来提供lib目录中的文件。 Go在http包中有一个文件服务器

func init() {
    http.Handle("/lib/", http.FileServer(http.Dir("/Users/faruk/dev/otp/site/")))
}