最近的一个全栈项目,光伏云监控系统,后端使用beego框架,纯api,前端使用VUE2.0。项目地址:http://scada.ssechina.com:88/static
我把打包好的前端文件放到go的static目录,
然后main里面设置
beego.BConfig.WebConfig.StaticDir["/static"] = "static"
只能用ip/static/login.html来访问
如果改成
beego.BConfig.WebConfig.StaticDir["/"] = "static"
就访问不了了
但是网址中多了个static怪怪的,而且确实有很多文件比如验证网站归属,需要在根目录放一个静态文件这种需求,希望直接以根目录访问静态文件
Beego怎样用根目录来访问静态文件?在网上找到以下办法感觉不错,留待下个项目使用:
在main.go里增加了下面的代码
//透明static beego.InsertFilter("/", beego.BeforeRouter, TransparentStatic)
beego.InsertFilter("/*", beego.BeforeRouter, TransparentStatic) func TransparentStatic(ctx *context.Context) {
if strings.Index(ctx.Request.URL.Path, "v1/") >= {
return
}
http.ServeFile(ctx.ResponseWriter, ctx.Request, "static/"+ctx.Request.URL.Path)
}