Развивать. Предварительный просмотр. Корабль.
Документация · изменение изменений · Шаблоны · CLI
Frontend Cloud Vercel предоставляет опыт разработчика и инфраструктуру для создания, масштабирования и обеспечения более быстрой, более персонализированной сети.
Начните, импортируя проект, выбрав шаблон или используя CLI Vercel. Затем git push
к развертыванию.
Для получения подробной информации о том, как использовать Vercel, ознакомьтесь с нашей документацией.
Этот проект использует PNPM для установки зависимостей и запуска сценариев.
Вы можете использовать скрипт vercel
для запуска локальных изменений, как будто вы вызывали Vercel CLI. Например, vercel deploy --cwd=/path/to/project
может быть запущен с локальными изменениями с pnpm vercel deploy --cwd=/path/to/project
.
Внесение вклад в этот репозиторий, пожалуйста, сначала обсудите изменение, которое вы хотите внести в дискуссии GitHub с владельцами этого репозитория, прежде чем отправить запрос на привлечение.
Пожалуйста, прочитайте наш код поведения и следуйте ему во всех ваших взаимодействиях с проектом.
Этот проект настроен в монорепо, где один репозиторий содержит несколько пакетов NPM. Зависимости устанавливаются и управляются с помощью pnpm
, а не npm
CLI.
Чтобы начать, выполнить следующее:
git clone https://github.com/vercel/vercel cd vercel corepack enable pnpm install pnpm build pnpm lint pnpm test-unit
Убедитесь, что все тесты проходят перед внесением изменений.
Вы можете использовать pnpm vercel
из пакета cli
, чтобы вызвать Vercel CLI с локальными изменениями:
cd ./packages/cli pnpm vercel <cli-commands...>
Смотрите CLI Local Development для получения более подробной информации.
Как только вы закончите с вашими изменениями (мы даже предлагаем сделать это по пути), убедитесь, что все тесты все еще проходят при запуске:
pnpm test-unit
от корня проекта.
Если какой -либо тест не удается, обязательно исправьте его вместе с изменениями. См. Интерпретация ошибок тестирования для получения дополнительной информации о том, как выполняются тесты, особенно интеграционные тесты.
Как только вы уверены, что ваши изменения работают должным образом, откройте запрос на притяжение в основном репозитории.
Запрос на вытягивания будет рассмотрено сопровождающими, а тесты будут проверены нашей платформой непрерывной интеграции.
В этом хранилище есть 2 вида тестов - модульные тесты и интеграционные тесты.
Модульные тесты запускаются локально с jest
и быстро выполняются, потому что они тестируют самые маленькие единицы кода.
Интеграционные тесты создают развертывания в вашей учетной записи Vercel с использованием имени test
проекта. После того, как каждый тест развернут, ключ probes
используется для проверки того, является ли ответ ожидаемым значением. Если значение не соответствует, вы увидите сообщение, объясняющее разницу. Если развертывание не удалось построить, вы увидите более общее сообщение, как следующее:
[Error: Fetched page https://test-8ashcdlew.vercel.app/root.js does not contain hello Root!. Instead it contains An error occurred with this application. NO_STATUS_CODE_FRO Response headers: cache-control=s-maxage=0 connection=close content-type=text/plain; charset=utf-8 date=Wed, 19 Jun 2019 18:01:37 GMT server=now strict-transport-security=max-age=63072000 transfer-encoding=chunked x-now-id=iad1:hgtzj-1560967297876-44ae12559f95 x-now-trace=iad1]
В таких случаях вы можете посетить URL -адрес неудачного развертывания и добавления /_logs
, чтобы увидеть ошибку сборки. В приведенном выше случае, это будет https://test-8ashcdlew.vercel.app/_logs
Журналы этого развертывания будут содержать фактическую ошибку, которая может помочь вам понять, что пошло не так.
В то время как запуск полной интеграционной набора локально не рекомендуется, иногда полезно выделить испытание на неудачу, запустив его на машине. Для этого вам нужно убедиться, что у вас есть соответствующие учетные данные, полученные в вашей оболочке:
Создайте токен доступа. Следуйте за Insructions здесь https://vercel.com/docs/rest-api#creating-an-access-token. Убедитесь, что сфера токена предназначена для вашей личной учетной записи.
Возьмите идентификатор команды с панели панели Vercel по адресу https://vercel.com/<MY-TEAM>/~/settings
.
Поиск их в свой файл RC Shell: echo 'export VERCEL_TOKEN=<MY-TOKEN> VERCEL_TEAM_ID=<MY-TEAM-ID>' >> ~/.zshrc
Оттуда вы должны быть в состоянии запустить интеграционный тест. Выберите тот, который уже изолирован, чтобы проверить, что все работает:
cd packages/next
Запустите тест:
pnpm test test/fixtures/00-server-build/index.test.js
Некоторые из строителей используют @vercel/nft
в файлах трясти до развертывания. Если вы подозреваете ошибку с этим механизмом погашения деревьев, вы можете создать следующий сценарий в своем проекте:
const {nodefiletrace} = require ('@vercel/nft'); nodefiletrace (['path/to/intrypoint.js'], { ТС: Правда, MixedModules: True,}) .then (o => console.log (o.filelist)) .then (e => console.error (e));
Когда вы запустите этот скрипт, вы увидите все импортированные файлы. Если файлы отсутствуют, ошибка находится в @vercel/nft, а не в строителе.
Иногда вы хотите проверить изменения в строителе против существующего проекта, возможно, с vercel dev
или фактическим развертыванием. Вы можете избежать публикации каждого застройщика в NPM, загрузив застройщика в качестве тарбола.
Изменить каталог на желаемое строитель cd ./packages/node
Запустите pnpm build
для компиляции TypeScript и других этапов сборки
Запустите npm pack
, чтобы создать файл Tarball
Запустите vercel *.tgz
, чтобы загрузить файл Tarball и получить URL
Отредактируйте любой существующий проект vercel.json
и замените use
с помощью URL
Запустите vercel
или vercel dev
для развертывания с экспериментальным строителем
Нормы поведения
Содействие руководящим принципам
Apache 2.0 Лицензия