Express 如何在一个实用的小胡子模板中处理条件注释?

Express 如何在一个实用的小胡子模板中处理条件注释?,express,mustache,ractivejs,Express,Mustache,Ractivejs,我有和问题使用快速和ractive来呈现胡子模板。我的实际代码如下所示: <li class="header-link"><a href="fakehome.com">HOME</a></li> <li class="header-link"> <!--[if !IE]><a href="{{url('browse')}}">BROWSE</a><![endif]--> <!

我有和问题使用快速和ractive来呈现胡子模板。我的实际代码如下所示:

<li class="header-link"><a href="fakehome.com">HOME</a></li>
<li class="header-link">
  <!--[if !IE]><a href="{{url('browse')}}">BROWSE</a><![endif]-->
  <!--[if IE]><a href="{{url('ie_browse')}}">BROWSE</a><![endif]-->
</li>

  • 但是当页面呈现时,它不包括条件[if IE]块。我认为这可能是将它们解释为评论。无论如何,我需要一种方法来修改我使用的链接,以便与IE兼容。如果有其他方法,我很乐意接受它,但我有点惊讶这根本没有呈现出来。

    你可以用三个胡子来伪装它:

    <li class="header-link">
      {{{ifnotie}}}<a href="{{url('browse')}}">BROWSE</a>{{{ifend}}}
      {{{ifie}}}<a href="{{url('ie_browse')}}">BROWSE</a>{{{ifend}}}
    </li>
    
  • {{{ifnotie}}{{{ifend}} {{{ifie}}{{{ifend}}
  • 和数据中的常量:

    data: {
        ifie: '<!--[if IE]>',
        ifnotie: '<!--[if !IE]>', 
        ifend: '<![endif]-->',
        url: function(input) { return input }
    }
    
    数据:{
    如果:'',
    url:函数(输入){返回输入}
    }
    
    以及:

    console.log(ractive.toHTML())
    //收益率:
    

  • 这其实很酷!在浏览器中不起作用,但它似乎是一个很好的后端解决方案。
    console.log(ractive.toHTML())
    //yields:
    <li class="header-link"><!--[if !IE]><a href="browse">BROWSE</a><![endif]--> <!--[if IE]><a href="ie_browse">BROWSE</a><![endif]--></li>