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