node:express:error---填坑之路
2024-08-26 03:11:56
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); });
这样,就能成功打印出错误信息了
最新文章
- WordPress主题模板层次和常用模板函数
- ASP.NET MVC 数据库依赖缓存的实现
- Codeforces Round #363 LRU(概率 状压DP)
- XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)
- BZOJ 2393 Cirno的完美算数教室
- Decode放在where条件后的新用法
- 【Animations】
- Dockerfile文件格式的简单介绍
- [Linux]当一个棘手问题需要即可定位,如何协助开发,缩小定位范围
- Openlayers 3 图层探查功能
- 圖片裁剪大頭貼功能 - ASP.NET WebForm + jQuery + imgAreaSelect
- jenkins maven git windows code 自动部署
- Yahoo Programming Contest 2019 补题记录(DEF)
- eclipse plugin development -menu
- find -exec 与xargs 区别
- ExpressRoute 线路和路由域
- CSS 布局:40个教程、技巧、例子和最佳实践
- [原]外网访问用azure虚拟机搭建的网站
- kali2.0安装VMware Tools
- dotNetFx40_Client_x86_x64和dotNetFx40_Full_x86_x64这两个有什么区别?两个都要安装还是安装其中一个?
热门文章
- jenkins启动java项目的jar包总是退出
- 怎样理解JAVA的“构造方法”和“主方法”
- 再次重温《Right here waiting》
- AE实现拖拽
- 关于 spring MVC 配置自动扫描中 use-default-filters 属性
- C#基础加强(8)之委托和事件
- SpringBoot内置Tomcat缓存文件目录被意外删除导致异常
- Tomcat的日志分割三种方法
- c# Resolve SQlite Concurrency Exception Problem (Using Read-Write Lock)
- from dns.resolver import Resolver ImportError: No module named dns.resolver