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

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

  • 相关阅读:
    POJ 2018 二分
    873. Length of Longest Fibonacci Subsequence
    847. Shortest Path Visiting All Nodes
    838. Push Dominoes
    813. Largest Sum of Averages
    801. Minimum Swaps To Make Sequences Increasing
    790. Domino and Tromino Tiling
    764. Largest Plus Sign
    Weekly Contest 128
    746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/yjq1021/p/7682255.html
Copyright © 2011-2022 走看看