2017-07-16 57 views
0

我目前正在運行一個在nodejs服務器上運行express的角度網站。當我開始在本地主機上運行它時,它通常會完美加載,但就在昨天它突然開始拋出此錯誤。Nodejs:無法在視圖目錄中查找「錯誤」目錄

GET/500 3.467毫秒 - 1595 錯誤:無法在視圖目錄 「C:\節點\ nodetest1 \路由\意見」 查找視圖 「錯誤」 在EventEmitter.render(C:\節點\ nodetest1 \ node_modules在C:\ node \ nodetest1 \ server上的ServerResponse.render(C:\ node \ nodetest1 \ node_modules \ express \ lib \ response.js:960:7)\ express \ lib \ application.js:579:17) 在C:\ node \ nodetest1 \ node_modules \ express \目錄下的.js:63:7 (位於C:\ node \ nodetest1 \在C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:280:7 at Function.process_params(C:\ node \ nodetest1 \ n \ lib \ router \ index.js:310:13) (C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:271:10)上​​的Ode_modules \ express \ lib \ router \ index.js:330:12) (位於Layer.handle_error(C :\ node \ nodetest1 \ node_modules \ express \ lib \ router \ layer.js:67:12) at trim_prefix(C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:310:13) 在C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:280:7 at Function.process_params(C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:330: 12) 立即在Immediate.next(C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:271:10) 。 (C:\ node \ nodetest1 \ node_modules \ express \ lib \ router \ index.js:618:15) at runCallback(timers.js:674:20) at tryOnImmediate(timers.js:645:5)

這裏是我的地盤目錄樹:
nodetest1
 斌
 路線
     庫
 個   諧音
     意見
  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

發佈服務器代碼將是有益的 – Wright

回答

0

問題:

res.render('error'); 

您沒有文件error.ejs在views目錄

+0

所以我實際上didnt需要啓動服務器時以前那個error.ejs文件。當我終於把它放在那裏時,它出現了同樣的錯誤 – Skrubinator

0

在你的目錄結構,

views放置routes目錄內。

要麼你必須把它routes目錄或

這樣定義的看法路徑之外。

app.set('views', path.join(__dirname, 'routes/views')); 
相關問題