Vapor 不通过 Leaf 渲染文件
Vapor not rendering file through Leaf
我正在尝试将骨架模板视图添加到最近的 Vapor 2 应用程序中,到目前为止,该应用程序仅使用 MySQL 数据库生成 JSON 输出。如果我使用以下最少的代码:
get("viewTest")
{ req in
let params = try Node(node: [ "name": "nick"])
return try self.view.make("index",Node(node:params))
}
文件 index.leaf
存在于 Resources/Views
文件夹中,文档建议省略 .leaf
后缀没问题,但这样做会得到:
[Data File Error: unable to load file at path /Users/test/Library/Mobile Documents/com~apple~CloudDocs/Apps/Vapor/testServer/Resources/Views/index]
但是,如果我明确地输入后缀,self.view.make("index.leaf",Node(node:params))
,文件的内容将被输出而不被渲染:
#extend("base") #export("body") {#(name)}
我曾尝试将代码直接放入 Main.swift 中,但将其放入处理程序中并没有什么区别。我也尝试过从头开始创建一个新的 Vapor 2 项目(使用全新安装的 vapor)并且它的行为相同。如此基础的东西不能开箱即用,这似乎很奇怪。
原来虽然Droplet的默认渲染器是'leaf',但是Config中的默认设置是'static'。放:
"view": "leaf"
进入 Config/drop.json
解决了问题。
我正在尝试将骨架模板视图添加到最近的 Vapor 2 应用程序中,到目前为止,该应用程序仅使用 MySQL 数据库生成 JSON 输出。如果我使用以下最少的代码:
get("viewTest")
{ req in
let params = try Node(node: [ "name": "nick"])
return try self.view.make("index",Node(node:params))
}
文件 index.leaf
存在于 Resources/Views
文件夹中,文档建议省略 .leaf
后缀没问题,但这样做会得到:
[Data File Error: unable to load file at path /Users/test/Library/Mobile Documents/com~apple~CloudDocs/Apps/Vapor/testServer/Resources/Views/index]
但是,如果我明确地输入后缀,self.view.make("index.leaf",Node(node:params))
,文件的内容将被输出而不被渲染:
#extend("base") #export("body") {#(name)}
我曾尝试将代码直接放入 Main.swift 中,但将其放入处理程序中并没有什么区别。我也尝试过从头开始创建一个新的 Vapor 2 项目(使用全新安装的 vapor)并且它的行为相同。如此基础的东西不能开箱即用,这似乎很奇怪。
原来虽然Droplet的默认渲染器是'leaf',但是Config中的默认设置是'static'。放:
"view": "leaf"
进入 Config/drop.json
解决了问题。