1

次のように定義されたルートがあります

server.get('/', function (req, res) {
    console.log('INDEX!');
    res.render('index.jade', {
        locals: {
            title: 'Your Page Title',
            description: 'Your Page Description',
            author: 'Your Name'
        }
    });
});

そしてindex.jade、次のように定義されています。

div hello world!!

しかし、私がhttp://localhost:8081/見ているのはレイアウトだけで、「hello world!」はありません。ビューでレイアウトを拡張しませんでした...なぜこれが起こっているのですか?

INDEX! コンソールにレンダリングされているので、そのルートに到達していることがわかります。

4

2 に答える 2

1

追加する必要がありました

server.set("view options", { layout: false });

expressデフォルトのレイアウトを自動的に使用しないように指示します。contentビューが(レイアウトで使用されている)ブロックを定義していなかったため、コンテンツが表示されていなかったと思います。レイアウトのみ。

于 2013-01-13T22:48:17.963 に答える
1

以下を削除し.jadeます。

res.render('index', {
    locals: {
        title: 'Your Page Title',
        description: 'Your Page Description',
        author: 'Your Name'
    }
});

また、ビュー構成が正しく設定されていることを確認してください。

server.set('views', __dirname + '/views');
server.set('view engine', 'jade');
于 2013-01-13T22:45:19.457 に答える