zoukankan      html  css  js  c++  java
  • node:express:error填坑之路 One

    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);
      
    });

    这样,就能成功打印出错误信息了

  • 相关阅读:
    160. Intersection of Two Linked Lists
    155. Min Stack
    TensorRT caffemodel serialize序列化
    141. Linked List Cycle
    异或运算的性质及应用
    136. Single Number
    【leeetcode】125-Valid Palindrome
    c++函数参数类型-引用、指针、值
    【linux基础】linux远程登录SSH
    【leetcode】122-Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/yjq1021/p/7682255.html
Copyright © 2011-2022 走看看