Express.js玉模板布局不工作
我使用节点,快递和玉模板创建的登录表单。但我的登录页面不使用默认的布局。这里是我的网站结构:
我layout.jade:
!!!
html
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
body
#header
h1=title
!= body
我route.js:
var routes = function(app) {
app.get('/login', function(req, res) {
return res.render(__dirname+"/views/login", {
title: 'Giriş',
stylesheet: 'login'
});
});
};
module.exports = routes;
我login.jade:
form(action= '/sessions', method='post')
label
| Kullanıcı Adı:
input(type='text', name='user')
label
| Şifre:
input(type='password', name='password')
input(type='submit', name='Giriş')
而我server.js(app.js):
/**
* Module dependencies.
*/
var express = require('express');
var http = require('http');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
//Routes
require('./apps/authentication/routes')(app)
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
当我尝试:3000/login,它正在越来越也不例外,但没有使用我的layout.jade。任何想法?
回答如下:问题就解决了。添加该代码login.jade
extends ../../../views/layout
block login
而这种代码layout.jade
block login
Express.js玉模板布局不工作
我使用节点,快递和玉模板创建的登录表单。但我的登录页面不使用默认的布局。这里是我的网站结构:
我layout.jade:
!!!
html
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
body
#header
h1=title
!= body
我route.js:
var routes = function(app) {
app.get('/login', function(req, res) {
return res.render(__dirname+"/views/login", {
title: 'Giriş',
stylesheet: 'login'
});
});
};
module.exports = routes;
我login.jade:
form(action= '/sessions', method='post')
label
| Kullanıcı Adı:
input(type='text', name='user')
label
| Şifre:
input(type='password', name='password')
input(type='submit', name='Giriş')
而我server.js(app.js):
/**
* Module dependencies.
*/
var express = require('express');
var http = require('http');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
//Routes
require('./apps/authentication/routes')(app)
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
当我尝试:3000/login,它正在越来越也不例外,但没有使用我的layout.jade。任何想法?
回答如下:问题就解决了。添加该代码login.jade
extends ../../../views/layout
block login
而这种代码layout.jade
block login