#next.js #vercel
#next.js #vercel
Вопрос:
У меня есть приложение NextJS без встроенного API, которое я хочу развернуть в Vercel. Он отлично работает, когда я запускаю его локально yarn run dev
, и я также могу собрать его yarn run build
без каких-либо ошибок. Однако, когда я развертываю его в Vercel, я получаю 404 Error
.
Вот моя структура папок:
app/
- components
- pages
- editor
- [id].tsx
...tsx
- public
- utils
- db
api.ts
Я использую NextJS 10.0.3.
Вот ссылка на развернутое приложение.
У меня нет файла конфигурации nextjs. Я предполагаю, что ошибка вызвана динамическим маршрутом, но я не могу найти свою ошибку. Кроме того, при развертывании приложения не работает ни одна страница, в отличие от только динамической страницы.
У вас есть указания, где искать дальше?
РЕДАКТИРОВАТЬ 1:
Вот ссылка на репозиторий GitHub.
РЕДАКТИРОВАТЬ 2: я обнаружил проблему, но не знаю, как ее исправить.
Вот как выглядит мой вывод сборки на Vercel:
Вот как это должно выглядеть на Vercel:
Не уверен, почему отсутствует вся _next
папка.
Комментарии:
1. можете ли вы показать нам свой код?
2. добавлена ссылка на репозиторий GitHub
Ответ №1:
У меня только что была такая же проблема. У меня есть следующее приложение в подкаталоге. Я думаю, что это может быть причиной некоторых проблем.
То, что сработало для меня, было.
- Убедитесь, что выбрали правильный подкаталог. На моем был маленький значок Next Js.
- Предустановка фреймворка должна быть установлена на Next.js .
Комментарии:
1. Сработало для меня! Обновил «Корневой каталог» моего проекта на Vercel, и он снова заработал.
Ответ №2:
Перейдите в настройки проекта
Измените предустановку фреймворка с Other
на Next.js
Повторно разверните проект.
Ответ №3:
Отредактировано
Попробуйте выполнить развертывание с помощью now --prod --force
--force
Флаг очистит ваш кеш сборки (в рабочей среде) и принудительно произведет запуск. Если все еще не работает, обязательно добавьте now.json
Комментарии:
1. Я использую интеграцию Vercel с Github для развертывания. Я думаю, что он создает его с нуля при каждом развертывании. Я только что сравнил его с другими проектами, которые я успешно развернул, и с ними я не предоставил now.json. Поэтому я сомневаюсь, что это необходимо.
2. @siva попробуйте добавить now.json. Вот небольшая справка => docs-git-update-lambda-serverless-function.zeit.now.sh/docs/v2 /…
3. @siva могу ли я попытаться развернуть ваше приложение?
4. конечно! Любая помощь приветствуется!
Ответ №4:
Также не забудьте выбрать Next.js как предустановленный фреймворк (а не что-то другое). Вы можете найти это в настройках проекта и в настройках сборки и разработки. Подробнее здесь: https://vercel.com/docs/concepts/deployments/build-step
Комментарии:
1. Это то, что вызвало это для меня — не уверен, почему оно изменилось с Next.js но это произошло.
Ответ №5:
Моя проблема заключалась в том, что я сначала попытался развернуть Vercel через команду. Когда я создал новый проект Vercel под своей индивидуальной учетной записью Vercel и развернул тот же код, это сработало! Я надеюсь, что это сэкономит кому-то еще время, потому что я только что потерял 3 часа, пытаясь найти это. Я использую Next.js как хорошо.
Если вы пытаетесь выполнить развертывание через команду, вам может потребоваться сначала настроить идентификатор команды в вашем vercel.json, например
{
"currentTeam": "team_ofwUZockJlL53hINUGCc1ONW"
}
ссылка: https://vercel.com/docs/configuration#global/config-json/current-team