【发布时间】:2017-07-14 21:32:11
【问题描述】:
我正在使用 Node.js、Express 和 Pug 创建一个简单的 Web 服务器。
package.json:
{
"name": "testing",
"version": "0.0.7",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"command-line-args": "^4.0.6",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"less-middleware": "~2.2.0",
"merge": "^1.2.0",
"morgan": "~1.8.1",
"pug": "^2.0.0-rc.2",
"request": "^2.81.0",
"serve-favicon": "~2.4.2",
"sprintf-js": "^1.1.1",
"tracer": "^0.8.9"
}
}
使用 start 命令启动服务器:
npm start
当应用包含调用不存在的 pug mixin 等错误时:
.container
+hossa
一个错误文本被渲染并显示在客户端浏览器中,如下所示:
/Projects/.../status.pug:2 1| .container > 2| +hossa 3| 4| 5| div.page.container.hidden#status(text="Status") pug_mixins.hossa is not a function
这还可以,但可以改进。
主要问题:除了 500 代码之外,我在日志输出中没有看到任何错误。
问题是:
- 需要哪些代码、模块和/或启动选项来记录错误,包括服务器端的完整堆栈信息?
- 如何管理它以呈现更用户友好的消息?
【问题讨论】:
-
你必须使用error handler。
标签: node.js express error-handling pug