假设我有大量的模板和子模板,那么我如何根据管道中需要的那些来解析子模板呢?template
我的想法是读取当前要渲染的模板并找出它使用了哪些模板,但我不知道该怎么做,也许用正则表达式?
PS:答案不必考虑子模板的多层嵌套。
例子
package main
import (
"html/template"
"path/filepath"
)
func CollectFiles(dir string, excludeList []string) (fileList []string, err error) {
// ...
return
}
func main() {
filePathList, _ := CollectFiles("dir/src", []string{".md"})
for _, curFile := range filePathList {
_, _ = template.New(filepath.Base(curFile)).
ParseFiles(curFile, "tmplA", "tmplB", "...", "tmplN")
}
}
假设主模板只需要 tmplA和tmplB作为子模板。我怎样才能检测到它只需要这两个?
我不想每次添加或调整新模板时都更改程序。
Smart猫小萌
相关分类