Vapor模板leaf的使用

添加Leaf中间件
  1. Package.swift添加资源路径
.Package(url: "https://github.com/vapor/leaf-provider.git", majorVersion: 1)
  1. 在droplet.json文件声明
  "view" : "leaf"
  1. Config+Setup.swift文件中添加到Droplet
    /// Configure providers
    private func setupProviders() throws {
        try addProvider(FluentProvider.Provider.self)
        try addProvider(MySQLProvider.Provider.self)
        try addProvider(LeafProvider.Provider.self)
    }
  1. 创建Resources文件,文件夹下创建views文件夹保存模板文件
    Vapor模板leaf的使用_第1张图片
    list.png
Leaf的语法
  • leaf的标签有四种元素构成
    • # leaf模板标签的标识
    • name 字符串类型标签名
    • () 参数列表,可接受0个或多个参数
    • {} 标签功能执行体,可选,但是与必须参数列表用一个空格隔开
  • 实例
    • #()
    • #(variable)
    • #import("template")
    • #export("link") { }
    • #index(friends, "0")
    • #loop(friends, "friend") {
    • #(friend.name)
    • }
    • #raw() { Anything goes!@#$%^&* }
 #import("footer")
    
        

Welcome #(name)

#(description)

#loop(users,"userName"){
  • #(userName)
  • } #import("head")
    • 模板的渲染
     static func indexUser(_request: Request) throws -> ResponseRepresentable {
            let user = try User.makeQuery().all()   // 表的字段或对应的值最好不要包含`.` DotKey
            for us in user {
                print(us.name)
            }
            let userName = user.map{$0.name}
            return try droplet.view.make("index", ["name" : "SunnyHC","description" : "Leaf","users" : userName])
        }
    
    Vapor模板leaf的使用_第2张图片
    leaf.png

    查看更多Leaf资料

    你可能感兴趣的:(Vapor模板leaf的使用)