#webpack #next.js
Вопрос:
Наша команда работает довольно просто Next.js приложения и видим неправильные номера строк в трассировках стека на консоли, когда мы сталкиваемся с проблемами в нашем коде.
Чтобы взять тривиальный пример, начните с кода учебника по созданию следующего приложения, который можно найти здесь. Затем измените эту функцию обработчика, чтобы выдать ошибку:
export default function handler(req, res) {
throw new Error("line2");
res.status(200).json({ text: 'Hello' })
}
в ./pages/api/hello.js
Затем посетите http://localhost:3000/api/hello
На консоли мы видим:
Error: line2
at handler (webpack-internal:///./pages/api/hello.js:4:9)
at apiResolver (/home/jasonnet/jack_work/nextjs-blog/node_modules/next/dist/next-server/server/api-utils.js:8:7)
at process._tickCallback (internal/process/next_tick.js:68:7)
в котором указана ошибка в строке 4, а не 2.
Это всего лишь тривиальный пример. Мы обнаружили, что иногда это, по-видимому, работает нормально (например, в Linux с Next.js 11.0), но на самом деле правильный номер строки отображается случайно, и простое добавление импорта в верхней части файла показывает, что на самом деле он не работает. Поэтому я спрашиваю…
Каков поддерживаемый способ исправить это в 2021 году? Next.js (например, v10, v11) ?