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

zsohkypk  于 2022-12-16  发布在  Gulp
关注(0)|答案(1)|浏览(171)

我使用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语句正常工作。我想检查i是否等于0。
如果我将@@if (+i+== 0)更改为@@if (+i == 0+),则@@if语句始终为真。
如果我把@@if (+i+== 0)改成@@if (i == 0)gulp-file-include甚至不能编译,它说,'i没有定义'。
有人能帮我解决这个问题吗?

kuhbmx9i

kuhbmx9i1#

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

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

相关问题