2017-08-28 26 views
0

我正在使用gulp-file-include来预编译html页面。如何在gulp-file-include的@@中使用@@ if语句?

https://www.npmjs.com/package/gulp-file-include

这里是我的示例代码。

@@for (var i = 0; i < foo.length; i++) { 
    <div class="foo"> 
    @@if (`+i+` == 0) { 
     Hello 
    } 
    <p>`+foo[i]+`</p> 
    </div> 
} 

的预期@@for环和<p>`+foo[i]+`</p>工作。

但是,我无法正确地得到@@for循环中的@@if声明。我想检查我是否等于0.

如果我将@@if (`+i+` == 0)更改为@@if (`+i == 0+`),则@@if声明始终为真。

如果我将@@if (`+i+` == 0)更改为@@if (i == 0),则gulp-file-include甚至不会编译。它说,'我没有定义'。

谁能帮我弄清楚这个问题吗?

回答

0

该问题是由库中的解析顺序造成的。首先它解析if并只看到文本而不是变量。如果您在index.js文件gulp-file-include交换iffor解析器,你应该能够使用:

@@if (`+i+` == 0)