2017-07-03 33 views
0

即使查看以前的帖子,我也无法弄清楚这个问题的解决方案。错误:无法在视图目录中查找视图“错误”节点JS和Jquery错误

我收到以下错误:

GET /public/stylesheets/nice-select.css 404 2.429 ms - 1594 Error: Failed to lookup view "error" in views directory "/home/nmysore/PhpstormProjects/Makerspace/express_example/views" at EventEmitter.render (/home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/application.js:580:17) at ServerResponse.render (/home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/response.js:971:7) at /home/nmysore/PhpstormProjects/Makerspace/express_example/app.js:49:7 at Layer.handle_error (/home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/router/layer.js:71:5) at trim_prefix (/home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/router/index.js:315:13) at /home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/router/index.js:335:12) at next (/home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/router/index.js:275:10) at /home/nmysore/PhpstormProjects/Makerspace/express_example/app.js:38:3 at Layer.handle [as handle_request] (/home/nmysore/PhpstormProjects/Makerspace/express_example/node_modules/express/lib/router/layer.js:95:5)

我想选择元素时,使用的node.js服务器使用一些jQuery的包有很好的动画。

我的结构是目前:

Structure

app.js

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 stylus = require('stylus'); 

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

var app = express(); 

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

// unce(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser());  
app.use(stylus.middleware(path.join(__dirname, 'public'))); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', index); 
app.use('/users', users); 

app.engine('html', require('ejs').renderFile); 

// 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; 

而且我的index.html里:

<!DOCTYPE html> 
<html> 
<script src="public/javascripts/jquery.js"></script> 
<script src="public/javascripts/jquery.nice-select.js"></script> 
<link rel = "stylesheet" href="public/stylesheets/nice-select.css"> 
<script> 
$(document).ready(function() { 
     $('select').niceSelect(); 
}); 
</script> 
<body> 
    <h1>My First Heading</h1> 
    <p>My first paragraph.</p> 
    <select name='Major'> 
     <option disabled selected>Select Major</option> 
     <option value="1">All Majors</option> 
     <option value="2">Computer Science</option> 
     <option value="3">Structural Engineering</option> 
     <option value="4">Cognitive Science</option> 
     <option value="5">Bioengineering</option> 
     <option value="6">Electrical Engineering</option> 
     <option value="7">Etc</option> 
     <option value="8">Etc</option> 
    </select> 
</body> 
</html> 

我已经在前面的线程上尝试了一堆建议,但错误不会消失。

回答

1

你问的error.html鉴于这一行:

res.render('error');

然而,它并不在views文件夹中。添加一个error.html它应该呈现。