栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Go模板中包含js文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Go模板中包含js文件

您需要a

Handler
或a
来在请求时
HandlerFunc
将文件内容(
jquery.min.js
)发送到Web浏览器。

您有3种选择:

手动执行

这是更复杂的解决方案。就像在处理程序函数中,您读取文件的内容,设置适当的响应内容类型(

application/javascript
)并将内容(即
[]byte
)发送到响应。

需要注意的事项:读取文件时,必须指定绝对路径。如果指定相对路径,请确保该文件位于您从中启动应用程序的当前文件夹(工作目录)中。

例:

func SendJqueryJs(w http.ResponseWriter, r *http.Request) {    data, err := ioutil.ReadFile("jquery.min.js")    if err != nil {        http.Error(w, "Couldn't read file", http.StatusInternalServerError)        return    }    w.Header().Set("Content-Type", "application/javascript; charset=utf-8")    w.Write(data)}func main() {    http.HandleFunc("/jquery.min.js", SendJqueryJs)    panic(http.ListenAndServe(":8081", nil))}

上面的示例只能提供1个文件:

jquery.min.js
对于请求:

http://localhost:8081/jquery.min.js

利用
http.ServeFile()

这要容易得多:该功能

http.ServeFile()
能够将一个文件的内容发送到指定的响应。您仍然需要创建一个函数或处理程序来使用它,但是其余的工作将为您完成:

func SendJqueryJs(w http.ResponseWriter, r *http.Request) {    http.ServeFile(w, r, "jquery.min.js")}

利用
http.FileServer()

如果您需要提供多个静态文件,可以在此

FileServer()
方便使用函数,该函数将为您返回一个
Handler
自动提供本地文件系统文件的文件,这些文件是您指定的根文件夹的后代。

该解决方案更加灵活:它可以发送多种类型的许多文件,自动检测并设置内容类型。该处理程序还能够呈现HTML页面,以列出目录内容以及指向文件和父/子文件夹的链接。

例:

http.Handle("/tmpfiles/",    http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp"))))

这将

Handler
在URL处注册一个,该URL
/tmpfiles/
服务于在
/tmp
文件夹中的本地文件系统中找到的文件。因此,例如以下
<script>
链接:

<script type="text/javascript" src="/tmpfiles/jquery.min.js">

/tmp/jsquery.min.js
将从服务器获取文件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371107.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号