请问我的jade代码出现了什么问题?

//- 栅格布局
mixin grid-layout(a,b)
    //- 如果有第一个参数
    if a
        //- 如果有第二个参数
        if b
            //- 如果左边大右边小(默认小的那边为侧边栏,在992宽度以下隐藏,即做992宽度以下的适配)
            if (a > b)
                .row
                    div(class="col-md-" + a + " col-sm-12 col-xs-12")
                        block left
                    div(class="col-md-" + b + " visible-md visible-lg")
                        block right
            //- 如果左右一样大(默认相同栅格在任何尺寸下都显示)
            else if (a == b)
                .row
                    div(class="col-md-" + a + " col-sm-12 col-xs-12")
                        block left
                    div(class="col-md-" + b + " col-sm-12 col-xs-12")
                        block right
            //- 如果右边大左边小(默认小的那边为侧边栏,在任何尺寸下都显示,即不做992宽度以下的适配)
            else
                .row
                    div(class="col-xs-" + a )
                        block left
                    div(class="col-xs-" + b )
                        block right
        //- 默认居中
        else
            .row
                div(class="col-md-" + a + " col-sm-12 col-xs-12 col-md-offset-" + ((12 - a) / 2))
                    block mid
    //- 若没有参数,则只提供.row包含块,自行栅格布局
    else
        .row
            block inner

用gulp编译总是出现'Unexpected else without if'的错误,实在不懂哪里多写了一个else,求大神指正!

阅读 2.4k
1 个回答

看这个 https://github.com/pugjs/pug/...

是个bug 现在应该已经被修复了...

使用最新版本的pug(jade的改名版本)应该被解决了

老版本的

改成这样还是不报错的

//- 栅格布局
mixin grid-layout(a,b)
    //- 如果有第一个参数
    if a
        //- 如果有第二个参数
        if b
            //- 如果左边大右边小(默认小的那边为侧边栏,在992宽度以下隐藏,即做992宽度以下的适配)
            if (a > b)
                .row
                    div(class="col-md-" + a + " col-sm-12 col-xs-12")
                        block left
                    div(class="col-md-" + b + " visible-md visible-lg")
                        block right
                //- 如果左右一样大(默认相同栅格在任何尺寸下都显示)
            else if (a == b)
                .row
                    div(class="col-md-" + a + " col-sm-12 col-xs-12")
                        block left
                    div(class="col-md-" + b + " col-sm-12 col-xs-12")
                        block right
                // - 如果右边大左边小(默认小的那边为侧边栏,在任何尺寸下都显示,即不做992宽度以下的适配)
            else
                .row
                    div(class="col-xs-" + a )
                        block left
                    div(class="col-xs-" + b )
                        block right
            //- 默认居中
        else
            .row
                div(class="col-md-" + a + " col-sm-12 col-xs-12 col-md-offset-" + ((12 - a) / 2))
                    block mid
                //- 若没有参数,则只提供.row包含块,自行栅格布局
    else
        .row
            block inner
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题