2017-07-04 3 views
1

私はloginControllerを持っているとすぐに私はprofile.handlebarsをレンダリングしたいの正しい検証にログインcredintals.Ifを提出し、私もそれをレンダリングすることができる午前として実行express.staticが含まれていないフォルダからテンプレートをレンダリングするには?

var User = require('./../models/User.js'); 
 

 
var loginController = {}; 
 

 
loginController.match = function(req, res){ 
 

 
    var username = req.body.username; 
 
    var password = req.body.password; 
 

 
    User.findOne({username : username, password : password}) 
 
    .then(function(user){ 
 
     if(user){ 
 
      res.render('profile',{ 
 
       title : 'Profile', 
 
       user : user 
 
      }); 
 
      /*return res.status(200).json({ 
 
       success : true, 
 
       data : user 
 
      });*/ 
 
     } 
 
     else{ 
 
      return res.status(200).json({ 
 
       message : "Either username or password is wrong" 
 
      }); 
 
     } 
 
    }) 
 
    .catch(function(err){ 
 
     return res.status(500).json({ 
 
      message : err 
 
     }) 
 
    }); 
 
} 
 

 
module.exports = loginController;

としてしかし、私はexpress.staticを使用して提供している使用しているCSSを消費することができず、私のapp.jsである別のファイルに存在しています

マイapp.js

var express = require('express'); 
 
var mongoose = require('mongoose'); 
 
var bodyParser = require('body-parser'); 
 
var cookieParser = require('cookie-parser'); 
 
var session = require('express-session'); 
 
var hbs = require('express-handlebars'); 
 
var Path = require('path'); 
 

 
var routes = require('./routes.js'); 
 
var app = express(); 
 

 
/*View Engine*/ 
 
app.engine('handlebars',hbs({defaultLayout : 'layouts.handlebars', layoutsDir : __dirname + './../views/layouts'})); 
 
app.set('views', Path.join(__dirname, './../views')); 
 
app.set('view engine', 'handlebars'); 
 

 
/*Serve Static files*/ 
 
app.use(express.static(__dirname+'./../public')); 
 

 
mongoose.connect('mongodb://localhost/tournament', function(){ 
 
    console.log('connected to tournament..'); 
 
}); 
 

 
/*Template Routes*/ 
 
/*Login*/ 
 
app.get('/', function(req,res,next){ 
 
    res.render('login',{ 
 
     title : 'Login' 
 
    }); 
 
}) 
 
/*Profile 
 
app.get('/profile',function(req,res,next){ 
 
    res.render('profile',options) 
 
}); 
 
*/ 
 

 

 
app.use(bodyParser.urlencoded({ 
 
    extended: true 
 
})); 
 
app.use(bodyParser.json()); 
 
app.use(cookieParser()); 
 
app.use(session({secret : "asdasdvbvc234234sdfsdf23213123", resave : false, saveUninitialized : true})); 
 
app.use('/api', routes); 
 

 
module.exports = app;

マイprofile.handlebars

<div class="row"> 
 
    <div class="col-md-12"> 
 
     <div class="float-right"> 
 
      Hello, {{user.username}} 
 
      <button class="btn btn-md btn-danger">Logout</button> 
 
     </div> 
 
    </div> 
 
</div>

+0

cssはブラウザにロードされていますか? cssはheader.handlebarsにロードされていますか? – Tolsee

答えて

0

app.use(express.static(__dirname+'./../public'));トンを変更してみてくださいo app.use(express.static(Path.join(__dirname, './../public')));

+0

問題を解決しない –

+0

プロジェクトディレクトリツリー – taha

+0

をここに表示できますかhttps://ibb.co/mj7pnv –

関連する問題