【发布时间】:2016-11-27 16:48:33
【问题描述】:
现在我在同一个目录中有 3 个文件和一个文件夹,如下所示。 index.html 将请求 .css、.js(ReactJS) 和文件夹 /img 中的图像。
经过大量搜索和尝试,我知道我可以使用以下内容创建一个文件服务器来为/ 对client/index 中的文件的url 请求提供服务。
http.Handle("/", http.StripPrefix("/", http.FileServer(http.Dir("client/index"))))
效果很好。但它只提供静态文件,我想在转出之前对 html 文件进行一些更改,例如修改标签 <input id='projectId' type='hidden' value={{.projectId}}/> 中的值。因此,我需要注册一个HandleFunc('/', handler) 来执行html 模板但url / 已经用于实现文件服务器。
在为文件(.css、.js 和文件夹内的图像img)提供文件系统请求的同时,动态修改 html 的正确方法是什么?
服务器/pghndler/index/index.go
package index
func RegisterHandlers() {
http.Handle("/", http.StripPrefix("/", http.FileServer(http.Dir("client/index"))))
http.HandleFunc("/login", loginHandler)
}
【问题讨论】:
标签: go webserver fileserver