Entwickeln. Vorschau. Schiff.
Dokumentation · Changelog · Vorlagen · CLI
Die Frontend Cloud von Vercel bietet die Entwicklererfahrung und die Infrastruktur zum Aufbau, Skalieren und sichern ein schnelleres, personalisierteres Web.
Beginnen Sie mit dem Importieren eines Projekts, der Auswahl einer Vorlage oder der Verwendung der Vercel CLI. Dann git push
auf die Bereitstellung.
Weitere Informationen zur Verwendung von Vercel finden Sie in unserer Dokumentation.
Dieses Projekt verwendet PNPM, um Abhängigkeiten zu installieren und Skripte auszuführen.
Sie können das vercel
-Skript verwenden, um lokale Änderungen auszuführen, als würden Sie sich auf Vercel CLI anrufen. Beispielsweise könnte vercel deploy --cwd=/path/to/project
mit lokalen Änderungen mit pnpm vercel deploy --cwd=/path/to/project
ausgeführt werden.
Besprechen Sie beim Beitrag zu diesem Repository zuerst die Änderung, die Sie über Github -Diskussionen mit den Eigentümern dieses Repositorys vornehmen möchten, bevor Sie eine Pull -Anfrage einreichen.
Bitte lesen Sie unseren Verhaltenskodex und folgen Sie ihm in all Ihren Interaktionen mit dem Projekt.
Dieses Projekt ist in einem Monorepo konfiguriert, in dem ein Repository mehrere NPM -Pakete enthält. Abhängigkeiten werden mit pnpm
installiert und verwaltet, nicht mit npm
CLI.
Führen Sie Folgendes aus, um zu beginnen:
git clone https://github.com/vercel/vercel cd vercel corepack enable pnpm install pnpm build pnpm lint pnpm test-unit
Stellen Sie sicher, dass alle Tests bestehen, bevor Sie Änderungen vornehmen.
Sie können pnpm vercel
aus dem cli
-Paket verwenden, um Vercel CLI mit lokalen Änderungen aufzurufen:
cd ./packages/cli pnpm vercel <cli-commands...>
Weitere Informationen finden Sie unter CLI Local Development.
Sobald Sie mit Ihren Änderungen fertig sind (wir empfehlen es sogar auf dem Weg), stellen Sie sicher, dass alle Tests immer noch beim Laufen bestehen:
pnpm test-unit
Aus der Wurzel des Projekts.
Wenn ein Test fehlschlägt, stellen Sie sicher, dass Sie ihn zusammen mit Ihren Änderungen beheben. Weitere Informationen zur Ausführung der Tests, insbesondere der Integrationstests, finden Sie unter Interpretationstestfehler.
Sobald Sie zuversichtlich sind, dass Ihre Änderungen ordnungsgemäß funktionieren, öffnen Sie eine Pull -Anfrage im Hauptrepository.
Die Pull -Anfrage wird von den Betreuern überprüft und die Tests werden von unserer kontinuierlichen Integrationsplattform überprüft.
In diesem Repository gibt es 2 Arten von Tests - Unit -Tests und Integrationstests.
Unit -Tests werden lokal mit jest
durchgeführt und schnell ausgeführt, da sie die kleinsten Codeeinheiten testen.
Integrationstests erstellen Bereitstellungen für Ihr Vercel -Konto mit dem test
. Nachdem jeder Test bereitgestellt wurde, wird die probes
verwendet, um zu prüfen, ob die Antwort der erwartete Wert ist. Wenn der Wert nicht übereinstimmt, werden Sie eine Nachricht sehen, die den Unterschied erklärt. Wenn die Bereitstellung nicht erstellt wurde, werden Sie eine generiertere Nachricht wie die folgenden Angaben sehen:
[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]
In solchen Fällen können Sie die URL der fehlgeschlagenen Bereitstellung besuchen und /_logs
anhängen, um den Build -Fehler anzuzeigen. In dem obigen Fall wäre das https://test-8ashcdlew.vercel.app/_logs
Die Protokolle dieser Bereitstellung enthalten den tatsächlichen Fehler, der Ihnen helfen kann zu verstehen, was schief gelaufen ist.
Wenn die vollständige Integrationssuite lokal ausgeführt wird, wird nicht empfohlen, aber es ist manchmal nützlich, einen fehlerhaften Test zu isolieren, indem Sie ihn auf Ihrem Computer ausführen. Dazu müssen Sie sicherstellen, dass Sie über die entsprechenden Anmeldeinformationen in Ihrer Shell verfügen:
Erstellen Sie ein Zugriffstoken. Folgen Sie den Insructions hier https://vercel.com/docs/rest-api#creeating-an-access-teken. Stellen Sie sicher, dass der Token -Bereich für Ihr persönliches Konto ist.
Schnappen Sie sich die Team-ID aus dem Vercel Dashboard unter https://vercel.com/<MY-TEAM>/~/settings
.
Quellen Sie diese in Ihre Shell RC-Datei: echo 'export VERCEL_TOKEN=<MY-TOKEN> VERCEL_TEAM_ID=<MY-TEAM-ID>' >> ~/.zshrc
Von dort aus sollten Sie in der Lage sein, einen Integrationstest auszulösen. Wählen Sie eine, die bereits isoliert ist, um zu überprüfen, ob die Dinge funktionieren:
cd packages/next
Führen Sie den Test aus:
pnpm test test/fixtures/00-server-build/index.test.js
Einige der Bauherren verwenden @vercel/nft
vor der Bereitstellung zu Baumschattendateien. Wenn Sie einen Fehler mit diesem Baumschüttelmechanismus vermuten, können Sie das folgende Skript in Ihrem Projekt erstellen:
const {nodeFiletrace} = required ('@vercel/nft'); nodeFiletrace (['path/to/EntryPoint.js'], {{ ts: wahr, MixedModules: wahr,}) .then (o => console.log (o.filelist))) .then (e => console.Error (e));
Wenn Sie dieses Skript ausführen, werden alle importierten Dateien angezeigt. Wenn Dateien fehlen, befindet sich der Fehler in @Vercel/NFT und nicht in dem Erbauer.
Manchmal möchten Sie Änderungen an einem Baumeister gegen ein vorhandenes Projekt testen, möglicherweise mit vercel dev
oder tatsächlicher Bereitstellung. Sie können vermeiden, dass jeder Builder -Änderungswechsel auf NPM veröffentlichen, indem Sie den Bauunternehmer als Tarball hochladen.
Wechseln Sie das Verzeichnis in die gewünschte Builder cd ./packages/node
Führen Sie pnpm build
aus, um Typenskript- und andere Build -Schritte zu kompilieren
Führen Sie npm pack
aus, um eine Tarballdatei zu erstellen
Führen Sie vercel *.tgz
aus, um die Tarball -Datei hochzuladen und eine URL zu erhalten
Bearbeiten Sie ein bestehendes vercel.json
-Projekt und ersetzen Sie use
durch die URL
Führen Sie vercel
oder vercel dev
aus, um mit dem experimentellen Builder bereitzustellen
Verhaltenskodex
Richtlinien beitragen
Apache 2.0 Lizenz