小编Abu*_*yem的帖子

如何解决模板:模式与文件不匹配的问题

当我从除 main 之外的其他 go 文件访问文件时,如何处理文件路径。

\n

在 other.go 文件中,我尝试运行 ParseFS,但它给出了 template:pattern matches no files:templates/test.tmpl错误。这是我的文件树。

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 go.mod\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.go\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 other\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 other.go\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 templates\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test.tmpl\n
Run Code Online (Sandbox Code Playgroud)\n

其他/其他.go

\n
package other\n\nimport (\n    "embed"\n    "fmt"\n    "html/template"\n)\n\nvar templateFS embed.FS\n\nfunc Check() error {\n    _, err := template.New("email").ParseFS(templateFS, "templates/"+ "test.tmpl")\n\n    if err != nil {\n        fmt.Println(err)\n    }\n    return nil\n}\n
Run Code Online (Sandbox Code Playgroud)\n

主/main.go

\n
func main() {\n    err :=othher.Check()\n\n    if err != nil {\n        fmt.Println(err)\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

file go embedded-resource go-templates

3
推荐指数
1
解决办法
5034
查看次数

标签 统计

embedded-resource ×1

file ×1

go ×1

go-templates ×1