# 静态资源绑定

我们的网站项目中常常会包含诸如 js img等静态资源,Orange 框架提供了静态资源绑定的能力,能构建一个静态资源文件服务;

通过 ASSETS 路由方法即可绑定一个本地目录实现文件服务; 该方法有三个参数

ASSETS("访问url", "目录地址", 显示文件目录列表 app.AutoIndex / 禁止显示目录列表 DirDeny)

# 代码实现

通过如下代码即可将本地stroage目录绑定,访问 http://localhost:8088/storage 即可看到对应的文件列表

commonGp := app.NewRouter("/")
commonGp .ASSETS("/storage", "./storage", app.AutoIndex)

完整代码:

package main

import "gitee.com/zhucheer/orange/app"

func main(){
   router := &Route{}
   app.AppStart(router)
}

type Route struct {
}

func (s *Route) ServeMux() {
   app.NewRouter("").GET("/", func(ctx *app.Context) error {
      return ctx.ToString("Hello world!")
   })
   app.NewRouter("").ASSETS("/storage", "./storage", app.AutoIndex)
}

func (s *Route) Register() {
}

# 注意事项

该静态资源绑定只是作为一个在特定环境下的兜底能力,目前还无法拥有类似Nginx,Apache一样的的负载均衡,反向代理等能力;

如在生产环境实现一个文件服务,建议使用更为专业的Web服务器,如Nginx。