node.js - 如何修复我的应用程序中最近出现的 node.js 错误?
问题描述
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}`)
);
这是我的基本服务器设置。每当我请求路由时,我的控制台中都会出现以下错误。我也必须添加中间件而忽略这条路线。“获取 /favicon.ico HTTP/1.1”
未捕获的类型错误:无法在 S.Object.isExtensible.Object.isExtensible.e.___hb.e.___hb 处的 Contentscript.bundle.js:72 处的 Function.keys () 处将未定义或 null 转换为对象(contentscript.bundle.js:29 )
[Honeybadger] 无法发送错误报告:未配置 API 密钥。
解决方案
有更多的堆栈跟踪吗?另外,当您说“控制台”时,您是指在节点控制台中还是在浏览器控制台中?看起来日志消息来自我们的客户端 JavaScript 包,我希望它出现在浏览器中。如果您在 Node 应用程序中发现错误,您应该使用我们的Node.js 包。
在 honeybadger.js 中,___hb
有时会出现在堆栈跟踪中,因为该函数已被我们的库包装,但错误通常仍在您的项目代码中。如果您尝试诊断生产中的错误,我建议您使用 API 密钥配置 Honeybadger。
相关文档:
推荐阅读
- php - 将布尔+结果插入mysqlDB
- git - 无法访问超级项目中子模块的方法
- roda - 如何询问某物是否为 .present?在罗达的景色中
- java - 将项目从 Github 添加到 AndroidStudio
- mysql - 使用 node.js 从 mysql 数据库中获取图像
- java - 将字符串解析为 Localdate 后出现错误
- c# - 将上传的图像从mysql表合并到c#中的单个pdf文件中
- c# - 主动瀑布对话框不会在 Microsoft Bot 中继续
- error-handling - Spring Integration 返回 500 错误而不是 400 错误
- api - 如何防止在 SPA 项目上直接向 RESTful API 发送请求?