我试图通过使用以下更改来更改Node.js快速模板引擎。
app.js
app.set('view engine', 'jade');到app.set('view engine', 'ejs');
Package.json
"jade": "~1.11.0",到"ejs": "^1.0.0",
最后将View/*扩展*.jade更改为*.ejs。
但在那之后,我得到了一个错误:
在视图目录“/var/www/mynode/myapp/ view”中查找视图"index“失败
Error: Failed to lookup view "index" in views directory "/var/www/mynode/myapp/views"
at EventEmitter.render (/var/www/mynode/myapp/node_modules/express/lib/application.js:579:17)
at ServerResponse.render (/var/www/mynode/myapp/node_modules/express/lib/response.js:961:7)
at /var/www/mynode/myapp/routes/index.js:6:7
at Layer.handle [as handle_request] (/var/www/mynode/myapp/node_modules/express/lib/router/layer.js:95:5)
at next (/var/www/mynode/myapp/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/var/www/mynode/myapp/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/var/www/mynode/myapp/node_modules/express/lib/router/layer.js:95:5)
at /var/www/mynode/myapp/node_modules/express/lib/router/index.js:277:22
at Function.process_params (/var/www/mynode/myapp/node_modules/express/lib/router/index.js:330:12)
at next (/var/www/mynode/myapp/node_modules/express/lib/router/index.js:271:10)更新
我当前的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 routes = 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', 'jade');
// Uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
// 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 handlers
// Development error handler
// It will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// Production error handler
// No stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;**ls -l视图myapp文件夹**
我的节点:
drwxr-xr-x 7 rajdeep root 4096 Sep 19 19:16 .
drwxrwxr-x 3 rajdeep rajdeep 4096 Sep 19 18:32 ..
-rw-r--r-- 1 rajdeep root 1442 Sep 19 19:04 app.js
-rw-r--r-- 1 rajdeep rajdeep 1442 Sep 19 19:04 app.js~
drwxr-xr-x 2 rajdeep root 4096 Sep 19 17:44 bin
drwxr-xr-x 10 rajdeep rajdeep 4096 Sep 19 17:44 node_modules
-rw-r--r-- 1 rajdeep root 325 Sep 19 19:16 package.json
-rw-r--r-- 1 rajdeep rajdeep 325 Sep 19 19:16 package.json~
drwxr-xr-x 5 rajdeep root 4096 Sep 19 17:44 public
drwxr-xr-x 2 rajdeep root 4096 Sep 19 17:44 routes
drwxr-xr-x 2 rajdeep root 4096 Sep 19 19:17 views视图:
-rw-r--r-- 1 rajdeep root 84 Sep 19 18:32 error.ejs
-rw-r--r-- 1 rajdeep root 456 Sep 19 19:16 index.ejs
-rw-r--r-- 1 rajdeep rajdeep 456 Sep 19 18:40 index.ejs~
-rw-r--r-- 1 rajdeep rajdeep 456 Sep 19 19:16 index.ejs~
-rw-r--r-- 1 rajdeep root 125 Sep 19 18:32 layout.ejs发布于 2018-07-26 01:58:51
在app.js文件中,替换
app.set('view engine', 'jade');使用
app.set('view engine, 'ejs');另外,您已经在/views中创建了3个索引文件?只需保留你需要的那个,重新命名/替换其他的。再试着重新运行。
https://stackoverflow.com/questions/32668972
复制相似问题