我正在使用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
文件中交换if
和for
解析器index.js
您应该能够使用它:
@@if (`+i+` == 0)