LOGO

gulp-file-include 踩坑,不支持else 语法


##gulp-file-include 不支持 else 语法
查阅官方文档,发现是支持 if 语法的:

1
2
3
4
5
@@include('some.html', {"nav": true})

@@if (name === 'test' && nav ===true) {
@@include('test.html')
}

在实际使用中,自然而然的就用上了 if/else:

1
2
3
@@include('test.html', {
"age": 16
})
1
2
3
4
5
@@if(age >= 18){
<b>允许进入</b>
}else{
<b>禁止进入</b>
}

但输出的结果是:

else{ 禁止进入 }

所以这里只能写两个 if 来实现:

1
2
3
4
5
6
@@if(age >= 18){
<b>允许进入</b>
}
@@if(age < 18){
<b>禁止进入</b>
}

如果有更多条件判断,则继续增加 if 语句即可。

####临时变量无法在 if/for/loop 嵌套中使用
这个描述可能不太好理解,具体看下这段代码:

1
2
3
4
5
@@for(var i = 0; i < arr.length; i++){
@@if(i == 0){
<b>这是第一条</b>
}
}

我希望循环 arr 数组的时候,第一条输出“这是第一条”文字,但执行会提示 i is not defined: (i == 0) ,试了好多写法都不行,最后发现用反单引号(`)加三元运算符可以解决这个问题:

1
2
3
@@for(var i = 0; i < arr.length; i++){
`+(i == 0 ? '<b>这是第一条</b>' : '')+`
}

文章作者: 68HTML
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 68HTML !
  目录