如何在 gulp-file-include 的@@for中使用@@if语句?



我正在使用gulp-file-include来预编译html页面。

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甚至无法编译。它说,"i没有定义"。

谁能帮我解决这个问题?

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

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

最新更新