Template.ParseGlob("*.html") //fetches all html files from current directory.
Template.ParseGlob("**/*.html") //Seems to only fetch at one level depth
我不是在寻找“Walk”解决方案。只是想知道这是否可行。我不太明白这种期望的“模式”。如果我能得到关于ParseGlob使用的模式的解释,那也很棒。
答案 0 :(得分:6)
code text/template/helper.go
提及
// The pattern is processed by filepath.Glob and must match at least one file.
filepath.Glob()
说"模式的语法与Match
"
如果name与shell文件名模式匹配,则Match返回true。
implementation of Match()似乎没有对待**
'不同的是,只考虑' *
'匹配任何非分隔符字符序列
这意味着' **
'相当于' *
',这反过来将解释为什么匹配仅在一个级别深度工作。
答案 1 :(得分:0)
因此,由于ParseGlob
无法递归加载模板,因此我们必须使用path/filepath.Walk
函数。但是这种方式提供了更多机会。
https://gist.github.com/logrusorgru/abd846adb521a6fb39c7405f32fec0cf