The iris.PrefixDir function
The iris.PrefixDir function wraps an existing "fs" file system and returns a new one which open files by prepending the path with the given "prefix".
go
func PrefixDir(prefix string, fs http.FileSystem) http.FileSystemIt is extremely useful when you use a go-bindata file to embed both view templates and public static files. With PrefixDir you can select which directory to use to serve static files and which to render views.
Example
text
│ main.go
| bindata.go
└───data/
└──────views/
│ ...your templates
└──────public/
│ ...your public assetsLet's build the bindata.go file which will contain the embedded ./data directory:
sh
$ go get -u github.com/go-bindata/go-bindata/...
$ go-bindata -fs ./data/...Use the ./data/views for templates and ./data/public for file server:
go
templatesFS := iris.PrefixDir("./data/views", AssetFile())
app.RegisterView(iris.HTML(templatesFS, ".html"))
publicFS := iris.PrefixDir("./data/public", AssetFile())
app.HandleDir("/", publicFS)