2017-07-16 5 views
0

現在、nodejsサーバーでExpressを実行している角度のあるWebサイトで作業しています。私はlocalhost上でそれを実行し始めたときに通常完全にロードされますが、昨日、突然このエラーがスローされ始めました。Nodejs:ビューディレクトリのビュー "error"の検索に失敗しました

GET/500 3.467ミリ秒 - 1595 エラー:EventEmitter.renderで (C:\ノード\ nodetest1 \ node_modules:ビューディレクトリ "\ノード\ nodetest1 \ルート\ビューC" のビュー "エラー" を検索できませんでした\ \ LIB \ application.js発現:579:17) ServerResponse.renderで(C:\ノード\ nodetest1 \ node_modules \ \ LIB \ response.jsを発現:960:Cで7) :\ノード\ nodetest1 \サーバ.js:63:Layer.handle_errorで7 (C:\ノード\ nodetest1 \ node_modules \発現\ LIB \ルータ\ layer.js:71:5)trim_prefixで (C:\ノード\ nodetest1 \ node_modules \表現\ LIB \ルータ\ index.js:Cで13) :310 \ノード\ nodetest1 \ node_modules \発現\ LIB \ルータ\ index.js:280:Function.process_paramsで7 (C:\ノード\ nodetest1 \ nはode_modules \発現\ LIB \ルータ\ index.js:330:次の12) (C:\ノード\ nodetest1 \ node_modules \発現\ LIB \ルータ\ index.js:271:10)Layer.handle_errorで (C :\ノード\ nodetest1 \ node_modules \発現\ LIB \ルータ\ layer.js:67:trim_prefixで12) (C:\ノード\ nodetest1 \ node_modules \ \ LIB \ルータ\ index.js発現:310:13) Function.process_paramsで7 (C:Cで:\ノード\ nodetest1 \ node_modules \ \ LIB \ルータ\ index.js発現:280 \ノード\ nodetest1 \ node_modules \ \ LIB \ルータ\ index.jsを発現:330: 12) (Immediate.next)(C:¥node¥nodetest1¥node_modules¥express¥lib¥router¥index.js:271:10) at即時。 runCallback(timer.js:674:20)で at tryOnImmediate(timers.js:645:5)

(C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:618:15)

は、ここに私のサイトのディレクトリツリーです:
nodetest1
 ビン
 ルート
     のlibs
     パーシャル
     ビュー
  server.js
  package.json

アイブ氏は、今日のために、この上で立ち往生されて、実際にいくつかの助けをいただければ幸いです。ありがとう!

編集:私のサーバーコードは下にあります。

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 
var mongoose = require('mongoose'); 

//This connects the Mongo DB 
//var mongo = require('mongodb'); 
//var monk = require('monk'); 
//var db = monk('localhost:27017/appointment'); 

mongoose.connect('mongodb://localhost:27017/appointment'); 



var app = express(); 

var index = require('./routes/index'); 
var users = require('./routes/users'); 

// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.engine('ejs', require('ejs').renderFile); 
app.set('view engine', 'ejs'); 


app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'routes'))); 

//Actually uses the mongodb 
//app.use(function(req,res,next){ 
    //req.db = db; 
    //next(); 
//}); 




app.use('/', index); 
app.use('/users', users); 
app.use('/api', require('./routes/api/appointment/')); 


// catch 404 and forward to error handler 
app.use(function(req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 

// error handler 
app.use(function(err, req, res, next) { 
    // set locals, only providing error in development 
    res.locals.message = err.message; 
    res.locals.error = req.app.get('env') === 'development' ? err : {}; 

    // render the error page 
    res.status(err.status || 500); 
    res.render('error'); 
}); 

module.exports = app; 
+0

投稿サーバーのコードは、以前のサーバーの起動時にファイルをerror.ejs役立つ – Wright

答えて

0

問題:

res.render('error'); 

あなたは

viewsroutesディレクトリの内側に配置され、ディレクトリ構造でビューディレクトリ

+0

だから私実際にdidntは必要だろう。私が最後にそれを入れたとき、同じエラーが出た – Skrubinator

0

でファイルerror.ejsを持っていません。

あなたがroutesディレクトリの外に配置する必要がありますか

のどちらかが、このようなビューのパスを定義します。

app.set('views', path.join(__dirname, 'routes/views')); 
関連する問題