Как напечатать трассировку стека в Node.js?

У вас есть 2 варианта:

  1. Используйте более конкретный шаблон URL, например /app/* или *.do, а затем пусть все ваши запросы на страницы соответствуют этому шаблону URL. См. Также веб-приложения Design Patterns
  2. То же, что и 1, но вы хотите скрыть отображение сервлета с URL-адреса запроса; вы должны поместить все статические ресурсы в общую папку, такую ​​как /static или /resources, и создать фильтр, который проверяет, не совпадает ли URL-адрес запроса, а затем перенаправляется на сервлет. Вот пример, который предполагает, что ваш сервлет-контроллер является @WebServlet("/app/*"), а фильтр - @WebFilter("/*"), и все ваши статические ресурсы находятся в папке /resources.
    HttpServletRequest req = (HttpServletRequest) request;
    String path = req.getRequestURI().substring(req.getContextPath().length());
    
    if (path.startsWith("/resources/")) {
        chain.doFilter(request, response); // Goes to default servlet.
    } else {
        request.getRequestDispatcher("/app" + path).forward(request, response); // Goes to your controller.
    }
    
    См. также Как получить доступ к статическим ресурсам при сопоставлении глобального сервлет-контроллера контроллера на /*.

469
задан whackamadoodle3000 13 December 2017 в 04:12
поделиться

1 ответ

Любой объект Error имеет элемент stack, который захватывает точку, в которой он был построен.

var stack = new Error().stack
console.log( stack )

или более просто:

console.trace("Here I am!")
566
ответ дан 22 November 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: