未在节点js中定义小胡子错误:未捕获的错误

时间:2018-10-25 13:52:13

标签: javascript node.js rendering render mustache

我想用Mustache.js在客户端渲染页面,但是说没有定义Mustache。我找到了答案here,但由于我刚开始学习有关网站/渲染等的知识,所以很难理解。要学习,我需要解决此问题,但是我不知道该怎么做。

有人可以告诉我,我scripting languages是初学者时,在不做太多细节的情况下需要做什么来解决它。

这是我的代码:我试图打开一个新页面,然后简单地呈现它。

socket.on('sign-up-succes',(data) => {
  window.open(data.redirect,"_self");
  var template = jQuery('#message-template').html();
  var html = Mustache.render(template,{
    text : "Hello"
   });
  jQuery('#messages').append(html);
});

2 个答案:

答案 0 :(得分:1)

从您发布的代码中,我看到您正在使用window对象,因此,我相信您正在尝试在客户端脚本中使用Mustache

如果是这样,请在CDN下面使用:

https://cdnjs.cloudflare.com/ajax/libs/mustache.js/3.0.0/mustache.js

https://cdnjs.cloudflare.com/ajax/libs/mustache.js/3.0.0/mustache.min.js

我建议您从服务器端(在您的情况下为Node.js)呈现模板。

答案 1 :(得分:0)

jsFiddle演示-http://jsfiddle.net/cvqLkb4t/

HTML

<script src="https://raw.githubusercontent.com/janl/mustache.js/master/mustache.min.js" type="application/javascript"></script>
    <script>
    socket.on('sign-up-succes',(data) => {
      window.open(data.redirect,"_self");
      var template = jQuery('#message-template').html();
      var html = Mustache.render(template,{
        text : "Hello"
       });
      jQuery('#messages').append(html);
    });
    </script>