Node.js TypeError:n在下划线模板中未定义

Node.js TypeError:n在下划线模板中未定义,node.js,backbone.js,underscore.js,pug,Node.js,Backbone.js,Underscore.js,Pug,我在用玉石打磨 index.jade extends layout block content .wrap .container-fluid#container script(type='text/template' id='main-template') .row .col-xs-8.col-sm-9 .heading h2 Welcome to the Node Chatroom hr/ .con

我在用玉石打磨

index.jade

extends layout
block content
  .wrap
    .container-fluid#container


script(type='text/template' id='main-template')
  .row
        .col-xs-8.col-sm-9
          .heading h2 Welcome to the Node Chatroom
          hr/
          .content
            ul.list-group#chatList
        .col-xs-4.col-sm-3
          .sidePanel
            .panel-heading
              h3.panel-title Online Users
                span.badge pull-right#userCount
            hr/
            .panel-body
              ul.list-group#userList      

      .push
  .footer
    .container-fluid
      .row
        form
          .form-group
            .col-xs-8.col-sm-9
              input(type="text" id="chatInput" class="form-control input-lg" placeholder="Write a message here..." rows="3")
            .col-xs-4.col-sm-3
              button(id="send-message-btn" class="btn btn-primary btn-lg btn-block" type="submit") Send Message

script(type='text/template' id='login-template')
  .row
    .col-md-4.col-md-offset-4.text-center
      .login
        .form-group
          label Enter name
          input(type="text" class="form-control" id="nameText")
          .btn-group
            button(id="name" type="button" class="btn btn-primary btn-lg") Login
Main.js

var LoginView = Backbone.View.extend({
    template: _.template($('#login-template').html()),


    events: {
        'click #name': 'onLogin'
    },

    initialize: function(options) {
    this.vent = options.vent;

    this.listenTo(this.model, "change:error", this.render, this);
    },

    render: function() {
        this.$el.html(this.template(this.model.toJSON()));

    onLogin: function() {
    //this.l.start();
    this.vent.trigger("login", this.$('#nameText').val());
    }
});
它显示的是TypeError:n在
模板:35;.template($('#login template').html()行上未定义,

我试过使用。在中建议的脚本之后。但它不起作用


看起来下划线无法访问#登录模板id。有什么原因吗?

我也遇到了同样的错误。然后下面一个解决了我

var template= _.template($('#myTemplate').html());
这可能对你有帮助


是否导入下划线?如果没有,则应在主文件中执行<代码>变量=要求(“下划线”)如果您无法获取
#登录模板
,则会出现错误,抱怨
未定义
没有
替换
方法或类似方法。你看过
$('#登录模板').html()
了吗?当模板中没有下划线标记时,为什么要提供模板函数数据?请尝试移动模板:35;.template($('#login template').html()),以呈现函数。像这样.template:#.template($('#login template').html())@muistooshort是的,它的内容是#login template。它在下一个模板中。我看到一些Jade的东西,但是
$(“#登录模板”).html()
实际上给了你什么?请添加一些关于链接的信息/描述/上下文,即使它本身是打开的