2017-10-30 14 views
0

私はちょうどGmailアカウントを使用してユーザーをログオンする小さなアプリケーションに取り組んでいます。ユーザログインが正常にアプリにエラー404ノードjs(Express)express.staticが動作しない

Directory階層を与える他のページにリダイレクトがある場合に問題があることは私がするとGoogleアカウントによってユーザログイン

enter image description hereのようなもので、EJSファイルがビューフォルダに

ですウェルカムページにリダイレクトする必要がありますが、エラーページが見つかりません。

デフォルトのページのコードは、ビューファイルをロード急行ができるようにするために

"use strict" 
    const path=require("path"); 
    const express=require("express"); 
    const session=require("express-session"); 
    const bodyParser=require("body-parser"); 
    const passport = require("passport"); 
    const db =require("./DbConnection/findCollection"); 
    const auth = require("./auth"); 
    const compression = require("compression"); 
    var appDir = path.dirname(require.main.filename); 

    const app=express(); 
    app.set("view engine", "ejs"); 

    app.use(bodyParser.urlencoded({extended:true})); 

    //enable gzip 
    app.use(compression()); 
    //enable session storage 
    //TODO: add connect-mongo as session storage 
    app.use(session({ 
     resave: false, 
     saveUninitialized: false, 
     secret:"keyboardcat",//config.get("SECRET"), 
     signed: true 
    })); 
    app.all("*", (req, res, next) => { 
     console.log("request: " + req.url); 
     next(); 
    }); 
    //OAuth 
    app.use(passport.initialize()); 
    app.use(passport.session()); 
    app.use(auth.router); 

    function respond(req, res) { 
     return function (err, data) { 
      if (err) { 
       return res.status(400).send(err); 
      } 

      res.header("Content-Type", "application/json"); 
      res.send(data);//JSON.stringify(data, null, 2)); 
     }; 
    } 

    function render(req,res,file,data){ 
     res.render("master.ejs", { content: file, req: req, data: data}); 

    } 

    app.get("/",(req,res,next)=>{ 
     if(req.user){ 
     console.log("Path is "+appDir); 
    // res.redirect("/views/welcome"); 
     res.redirect("/welcome"); 
     } 
     else{ 
      console.log("Path is "+appDir); 
     render(req, res,"login.ejs");} 
    }); 


    app.use("/views", express.static(__dirname + '/views')) 

    app.all("*", (req, res) => { 
     res.status(404).send("Page was not found, sorry!"); 
    }); 

    var server = app.listen(process.env.PORT || 3000, process.env.IP || "0.0.0.0",() => { 
     var address = server.address(); 
     console.log(`[${(new Date().toString()).substr(0, (new Date().toString()).indexOf(" ("))}] Server started on http://${address.address}:${address.port}`); 
    }); 

答えて

0

を下回っている、あなたの代わりにその今働い

app.use('/views', express.static(__dirname + '/views')); 
+0

感謝の

app.set('views', path.join(__dirname, 'views')); 

を置く必要があります。 – user3226819

+0

お力になれて、嬉しいです。 – Marprin

関連する問題