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

Mustache is not defined error in node js : Uncaught error

我想用 Mustache.js 在客户端呈现页面,但它说 Mustache 未定义。我找到了一个答案 here 但很难理解,因为我刚开始学习 websites/rendering 等。为了学习,我需要解决这个问题,但我不知道我该怎么做。

谁能告诉我我需要做些什么来修复它,因为我是 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);
});

从您发布的代码中我看到您正在使用 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 在您的情况下)。

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>