Next.js 16.5.0-canary.45 добавил turbopackIgnore для new URL()

Next.js 16.5.0-canary.45 добавил turbopackIgnore для new URL()
Содержание статьи

В ночь с 8 на 9 ноября опубликована предварительная сборка Next.js 16.5.0-canary.45. Turbopack в этой сборке учитывает комментарий turbopackIgnore в выражении new URL(). В Mentoring.digital разбираем, когда адрес имеет смысл оставить для вычисления во время работы приложения.

Почему сборщик пытался найти ресурс заранее

В примере из обсуждения разработчик передавал путь к скрипту Worker через параметр. Вызов находился в ветке, которая выполнялась только при наличии этого параметра. Сборщик всё равно пытался найти ресурс по частично динамическому пути и сообщал Module not found.

Это важно, если адрес появляется только при запуске. Сборщику может быть неизвестно, какое значение получит параметр у пользователя, а приложению этот путь может быть нужен лишь в отдельном сценарии.

Как работает комментарий

Комментарий ставят перед аргументом адреса. Например, new URL(/* turbopackIgnore: true */ path, import.meta.url). Согласно описанию изменения, Turbopack не создаёт ссылку на ресурс в графе сборки и сохраняет выражение в выходном коде. Адрес вычисляется при выполнении.

turbopackOptional подавляет ошибку разрешения пути. Общее правило для динамических адресов без комментария сохранилось. Если путь не удаётся разрешить, сборка может остановиться с ошибкой.

Что проверить в сборке canary

В отдельной ветке соберите минимальный пример и выполните обе ветки, с переданным путём и без него. Убедитесь, что нужный файл доступен по фактическому адресу и успешно загружается. Успешное завершение сборки само по себе этого не подтверждает. Если причина ошибки неясна, принесите пример и сообщения сборщика на разбор с наставником по фронтенду.

Похожие статьи по данной теме