0

私は現在node.jsを学ぼうとしており、エクスプレスとジェイドを扱っています。Twitterのブートストラップを機能させようとしていますが、問題が発生しています...ここに私のエラーがあります:

ReferenceError: C:\Users\acraze\chatty\views\index.jade:4
2|  
3| block content
 > 4|   div.top
5|     form.form-horizontal(method="post", id="loginForm")
6|       label Username
7|       input.span3(id="username", type="text", name="User", placeholder="Enter your username")

ここに私のindex.jsがどのように見えるかがあります:

var express = require("express");
var app = express();
var port =3700;

app.set('views', __dirname + '/views');
app.set('view engine', "jade");
app.engine('jade', require('jade').__express);
app.get("/", function(req, res){
res.render("index");
});

app.use(express.static(__dirname + '/public'));
var io = require('socket.io').listen(app.listen(port));
console.log("Listening on port " + port);

io.sockets.on('connection', function (socket) {
socket.emit('message', { message: 'welcome to the thunderdome lulz' });
socket.on('send', function (data) {
    io.sockets.emit('message', data);
});
});

ここに私のlayout.jadeがあります

!!!
html
  head
    title= title
    link(rel='stylesheet', href='/bootstrap/css/bootstrap.min.css')
    link(rel='stylesheet', href='/bootstrap/css/bootstrap-responsive.min.css')
    link(rel='stylesheet', href='/stylesheets/style.css')
    script(src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js')
    script(src='/bootstrap/js/bootstrap.min.js')
  body
    block content

ここに私のindex.jadeがあります

extends layout

block content
  div.top
    form.form-horizontal(method="post", id="loginForm")
      label Username
      input.span3(id="username", type="text", name="User", placeholder="Enter your username")
      label Password
      input.span3(id="password", type="password", name="Password")
      input.btn(type="submit", value="Log In")
  div.container
    div.content
      table.table.table-striped
        thead
          tr
            th Table
            th Heading
        tbody
          tr
            td Test1
            td Test2
          tr
            td Hello
            td World

  div.footer

これは何か関係がありres.render("index");ますか?私は本当に混乱しています...私は現在express、socket.io、およびjadeの最新バージョンを使用しています...これは何か違いがありますか?

4

1 に答える 1

5

タイトルをレイアウトに渡す必要があります。

試す:

レイアウト.ジェイド

title = title

index.js

res.render('index', {title:'your_page_title'});
于 2013-05-16T20:35:10.930 に答える