Как улучшить трассировку стека ошибок express.js? - PullRequest
0 голосов
/ 31 октября 2018

Я использую Node с Express в качестве API. В настоящее время это вывод, если произошла непредвиденная ошибка:

  "stack": "APIError: test error\n    at new ExtendableError 
(/home/user/workspace/test-api/server/helpers/error.ts:25:11)\n    at new APIError 
(/home/user/workspace/test-api/server/helpers/error.ts:41:5)\n
    at app.use (/home/user/workspace/test-api/config/express.ts:112:24)\n
    at Layer.handle_error (/home/user/workspace/test-api/node_modules/express/lib/router/layer.js:71:5)\n
    at trim_prefix (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:315:13)\n    at /home/user/workspace/test-api/node_modules/express/lib/router/index.js:284:7\n
    at Function.process_params (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:335:12)\n
    at next (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:275:10)\n
    at Layer.handle_error (/home/user/workspace/test-api/node_modules/express/lib/router/layer.js:67:12)\n
    at trim_prefix (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:315:13)\n
    at /home/user/workspace/test-api/node_modules/express/lib/router/index.js:284:7\n
    at Function.process_params (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:335:12)\n
    at next (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:275:10)\n 
    at Layer.handle_error (/home/user/workspace/test-api/node_modules/express/lib/router/layer.js:67:12)\n
    at trim_prefix (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:315:13)\n 
    at /home/user/workspace/test-api/node_modules/express/lib/router/index.js:284:7\n
    at Function.process_params (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:335:12)\n 
   at next (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:275:10)\n 
   at /home/user/workspace/test-api/node_modules/express/lib/router/index.js:635:15\n
   at Immediate.next (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:260:14)\n
   at Immediate.<anonymous> (/home/user/workspace/test-api/node_modules/express/lib/router/index.js:635:15)\n 
   at runCallback (timers.js:812:20)\n 
   at tryOnImmediate (timers.js:768:5)\n
   at processImmediate [as _immediateCallback] (timers.js:745:5)",

Мне бы понравилось, если бы я мог отобразить файл, номер белья и функцию, где это произошло, но я понятия не имею, как это сделать.

Может ли кто-нибудь помочь или указать мне правильное направление?

Для справки, вы можете увидеть шаблон, на котором основан мой проект здесь . Экспресс-настройку можно найти в config / express.ts

1 Ответ

0 голосов
/ 01 ноября 2018

Попробуйте добавить source-map-support . Ваша трассировка стека на самом деле показывает вам файл и номер строки кода, который вызвал ошибку, но, кажется, показывает это на переданном коде . Установите пакет и позвоните install() внутри вашего файла ввода:

$ npm install --save-dev source-map-support

// entry.ts
require('source-map-support').install();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...