【问题标题】:How to fix recent node.js errors from my apps?如何修复我的应用程序中最近出现的 node.js 错误?
【发布时间】:2020-03-04 19:29:42
【问题描述】:
const express = require("express");
const path = require("path");
var hbs = require("express-handlebars");
const morgan = require("morgan");

const middlewares = require("./middlewares/middlewares");

const PORT = process.env.PORT || 3002;
var app = express();
// setup static file service
app.use(express.static(path.join(__dirname, "static")));
//Setup app port
app.set("port", process.env.PORT || PORT);
// setup handlebars and the view engine for res.render calls
app.set("view engine", "html");
app.engine(
  "html",
  hbs({
    extname: "html",
    defaultView: "default",
    layoutsDir: __dirname + "/views/layouts/",
    partialsDir: __dirname + "/views/partials/"
  })
);

app.get("/", (req, res) => {
  res.send("Hello world");
});

app.use(morgan("common"));
app.use(middlewares.errorHandler);
app.use(middlewares.ignoreFavicon);
app.use(middlewares.notFound);

var server = app.listen(app.get("port"), () =>
  console.log(`Server started...Listening on port: ${PORT}`)
);

这是我的基本服务器设置。每当我请求路由时,我的控制台中都会出现以下错误。我也必须添加中间件而忽略这条路线。 "GET /favicon.ico HTTP/1.1"

未捕获的类型错误:无法将未定义或 null 转换为对象 在 Function.keys () 在 contentscript.bundle.js:72 在 S.Object.isExtensible.Object.isExtensible.e.___hb.e.___hb (contentscript.bundle.js:29)

[Honeybadger] 无法发送错误报告:未配置 API 密钥。

【问题讨论】:

    标签: node.js express console


    【解决方案1】:

    还有更多的堆栈跟踪吗?另外,当您说“控制台”时,您是指在节点控制台中,还是在浏览器控制台中?看起来日志消息来自我们的client-side JavaScript package,我希望它出现在浏览器中。如果您在 Node 应用程序中发现错误,您应该使用我们的Node.js package

    在 honeybadger.js 中,___hb 有时会出现在堆栈跟踪中,因为该函数已被我们的库包装,但错误通常仍在您的项目代码中。如果您尝试诊断生产中的错误,我建议您使用 API 密钥配置 Honeybadger。

    相关文档:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-08
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-03
      • 2021-12-24
      相关资源
      最近更新 更多