Golang html模板无法在html文件中调用javascript文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Golang html模板无法在html文件中调用javascript文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1293字,纯文字阅读大概需要2分钟。
内容图文
![Golang html模板无法在html文件中调用javascript文件](/upload/InfoBanner/zyjiaocheng/741/21f01241d3f441f698d53ab39e324a3d.jpg)
在HTML文件中调用它后,我将React应用程序与Webpack捆绑在一起.但是,当我使用Golang和html / template查看HTML文件时,它会出错.
我的HTML文件:index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Note App</title>
</head>
<body>
<div id="root"></div>
<script src="public/bundle.js"></script>
</body>
</html>
我的Golang文件:index.go
package main
import (
"net/http"
"html/template"
"path/filepath"
)
func handle(w http.ResponseWriter, r *http.Request) {
fp := filepath.Join("views", "index.html")
t := template.Must(template.ParseFiles(fp))
t.Execute(w, nil)
}
func main() {
http.HandleFunc("/", handle)
http.ListenAndServe(":8080", nil)
}
解决方法:
问题似乎是你正在启动一个只提供HTML模板的服务器 – 而不是脚本.当浏览器尝试加载脚本时,服务器将返回索引页.
看看https://www.alexedwards.net/blog/serving-static-sites-with-go;这篇文章讨论了如何提供静态文件.
为了您的目的,您可以通过将以下行添加到main方法的开头来获得:
fs := http.FileServer(http.Dir("public"))
http.Handle("/public/", http.StripPrefix("/static/", fs))
这将加载目录中的任何文件,“public”(相对于已编译的可执行文件),并在url / public / path / to / file中提供它们
请注意:默认情况下,这将启用公共目录的目录列表(用户将能够看到该目录和所有子目录中的文件列表).有关如何禁用目录列表的信息,请查看此问题的答案:https://stackoverflow.com/a/40718195/6346483
内容总结
以上是互联网集市为您收集整理的Golang html模板无法在html文件中调用javascript文件全部内容,希望文章能够帮你解决Golang html模板无法在html文件中调用javascript文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。