2017-08-28 120 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)