express版本4.0之后需要安装的东西
npm install -g express
npm install -g express-generator
jade转换成ejs(修改为html引擎,打开app.js ,若ejs引擎就不需要改动,但是所有html文件只可以sendFile,不能render将view engine的代码替换如下):
需要替换的:
// view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade');
方法一:
方法二:
app.engine('.html', require('ejs').renderFile);
app.set('view engine', 'html');
注:如没有ejs依赖,请npm install ejs
关于Error: Failed to lookup view "error" in views directory "D:\WebProgram\webBlog\views"的解决方法:
运行nodejs,发现有这个错误:
Failed to lookup view "error" in views directory
这个错误是因为我们配置了html模板,而之前是用的jade,所以后台出错后会去找error.jade,但此时这个模块已经不存在了,所以不可用,查找不到。
如何解决这个问题,其实很简单,在views里新建一个error.html,就不会抛出异常了。
但这样不会解决根本问题,错误无法捕获
//app.js 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'); });
app.js里是这段代码进行的错误捕获,所以,如果简单点的话,直接在这里面把错误打印出来即可
//app.js app.use(function(err, req, res, next) { // set locals, only providing error in development console.log(err.message); });
这样,就能成功打印出错误信息了