• Pug入门


    Pug是一款健壮、灵活、功能丰富的HTML模板引擎,专门为 Node.js 平台开发。Pug是由Jade 改名而来。

    是一种通过缩进(表示标签间的嵌套关系)的方式来编写代码的过程,在编译的过程中,不需要考虑标签是否闭合的问题。可以加快写代码速度,也为代码复用提供了便捷。


    优点:

    1、无需结束标签

    2、强制缩进

    3、代码复用和维护

    4、标签写法与CSS相同

    搭建pug环境:

    1、下载node.js和 npm 

    2、下载 pug , 命令:npm install pug-cli -g 

    检查:

    /********************************************************属性基本用法***********************************************************************/

    a(href='baidu.com') 百度
    等价于-->
    <a href="baidu.com">百度</a>


    a(class='button', href='baidu.com') 百度
    等价于-->
    <a class="button" href="baidu.com">百度</a>

    Js表达式的形式

    //- 已登录
    - var authenticated = true
    body(class=authenticated ? 'authed' : 'anon')
    等价于-->
    <body class="authed"></body>

    多行属性

    input(
      type='checkbox'
      name='agreement'
      checked
    )
    
    等价于-->
    <input type="checkbox" name="agreement" checked="checked" />

    属性嵌入:

    - var url = 'pug-test.html';
    a(href='/' + url) 链接
    |
    |
    - url = 'https://example.com/'
    a(href=url) 另一个链接
    
    
    等价于-->
    <a href="/pug-test.html">链接</a>
    <a href="https://example.com/">另一个链接</a>

    布尔值属性:

    input(type='checkbox' checked)
    |
    |
    input(type='checkbox' checked=true)
    |
    |
    input(type='checkbox' checked=false)
    |
    |
    input(type='checkbox' checked=true.toString())
    
    等价于-->
    
    <input type="checkbox" checked="checked" />
    <input type="checkbox" checked="checked" />
    <input type="checkbox" />
    <input type="checkbox" checked="true" />

     样式属性:

    style(样式)属性可以是一个字符串(就像其他普通的属性一样)还可以是一个对象

    a(style={color: 'red', background: 'green'})
    等价于-->
    <a style="color:red;background:green;"></a>

    类属性:

    class(类)属性可以是一个字符串(就像其他普通的属性一样)还可以是一个包含多个类名的数组

    - var classes = ['foo', 'bar', 'baz']
    a(class=classes)
    |
    |
    //- the class attribute may also be repeated to merge arrays
    a.bang(class=classes class=['bing'])
    
    等价于-->
    <a class="foo bar baz"></a>
    <a class="bang foo bar baz bing"></a>

    它还可以是一个将类名映射为 true 或 false 的对象,这在使用条件性的类的时候非常有用。

     
    - var currentUrl = '/about'
    a(class={active: currentUrl === '/'} href='/') Home
    |
    |
    a(class={active: currentUrl === '/about'} href='/about') About
    
    等价于-->
    <a href="/">Home</a>
    <a class="active" href="/about">About</a>

    /*******************************************************字面值************************************************************/

    类的字面值:

    类可以使用 .classname 语法来定义:
    a.button
    等价于-->
    <a class="button"></a>
    
    考虑到使用 div 作为标签名这种行为实在是太常见了,所以如果您省略掉标签名称的话,它就是默认值:
    .content
    等价于--->
    <div class="content"></div>

    id的字面值:

    ID 可以使用 #idname 语法来定义:
    a#main-link
    等价于-->
    <a id="main-link"></a>
    
    考虑到使用 div 作为标签名这种行为实在是太常见了,所以如果您省略掉标签名称的话,它就是默认值:
    #content
    等价于-->
    <div id="content"></div>
  • 相关阅读:
    spark源码解析1-master启动流程
    AngularJS Backbone.js Ember.js 对比
    Win 8下Rime输入法无法同步的临时解决方法
    osx上使用'cd'命令跳转到别名(alias)目录
    在JS中简单实现Formatter函数
    gvim 全屏 插件
    45 Useful JavaScript Tips, Tricks and Best Practices
    Javascript几个时髦的hack技巧《Javascript Hacks for Hipsters》
    关于如何参与到开源项目中《How To Succeed In Open Source ( In Ways You Haven't Considered Yet )》
    mac 下launchpad超级慢的问题
  • 原文地址:https://www.cnblogs.com/xqxacm/p/12364389.html
Copyright © 2020-2023  润新知