进阶 www.iris-go.com 2026-10-20 02:39:14 · 12 阅读

第11章 Iris 框架中的 iris.PrefixDir 函数详解

iris.PrefixDir 函数

iris.PrefixDir 函数封装现有的 "fs" 文件系统,并返回一个新的文件系统,该文件系统会在打开文件时将给定的 "prefix" 前缀拼接到路径前。

gofunc PrefixDir(prefix string, fs http.FileSystem) http.FileSystem

当你使用 go-bindata 文件来嵌入视图模板和公共静态文件时,该函数非常有用。通过 PrefixDir,你可以选择用于提供静态文件服务的目录和用于渲染视图的目录。

示例

text│ main.go | bindata.go └───data/ └──────views/ │ ...你的模板 └──────public/ │ ...你的公共资源

构建包含嵌入式 ./data 目录的 bindata.go 文件:

sh$ go get -u github.com/go-bindata/go-bindata/... $ go-bindata -fs ./data/...

将 ./data/views 用作模板目录,./data/public 用作文件服务器目录:

gotemplatesFS := iris.PrefixDir("./data/views", AssetFile()) app.RegisterView(iris.HTML(templatesFS, ".html"))

publicFS := iris.PrefixDir("./data/public", AssetFile()) app.HandleDir("/", publicFS)

评论 (0)