Mengembangkan. Pratinjau. Mengirimkan.
Dokumentasi · Changelog · Templat · CLI
Vercel's Frontend Cloud memberikan pengalaman dan infrastruktur pengembang untuk membangun, skala, dan mengamankan web yang lebih cepat dan lebih personal.
Mulailah dengan mengimpor proyek, memilih templat, atau menggunakan Vercel CLI. Kemudian, git push
untuk digunakan.
Untuk detail tentang cara menggunakan Vercel, lihat dokumentasi kami.
Proyek ini menggunakan PNPM untuk menginstal dependensi dan menjalankan skrip.
Anda dapat menggunakan skrip vercel
untuk menjalankan perubahan lokal seolah -olah Anda memohon Vercel Cli. Misalnya, vercel deploy --cwd=/path/to/project
dapat dijalankan dengan perubahan lokal dengan pnpm vercel deploy --cwd=/path/to/project
.
Saat berkontribusi pada repositori ini, silakan diskusikan kembali perubahan yang ingin Anda lakukan melalui diskusi GitHub dengan pemilik repositori ini sebelum mengirimkan permintaan tarik.
Harap baca kode perilaku kami dan ikuti semua interaksi Anda dengan proyek.
Proyek ini dikonfigurasi dalam monorepo, di mana satu repositori berisi beberapa paket NPM. Ketergantungan dipasang dan dikelola dengan pnpm
, bukan npm
CLI.
Untuk memulai, jalankan yang berikut:
git clone https://github.com/vercel/vercel cd vercel corepack enable pnpm install pnpm build pnpm lint pnpm test-unit
Pastikan semua tes lulus sebelum membuat perubahan.
Anda dapat menggunakan pnpm vercel
dari paket cli
untuk memohon Vercel Cli dengan perubahan lokal:
cd ./packages/cli pnpm vercel <cli-commands...>
Lihat Pengembangan Lokal CLI untuk lebih jelasnya.
Setelah Anda selesai dengan perubahan Anda (kami bahkan menyarankan melakukannya di sepanjang jalan), pastikan semua tes masih lulus dengan menjalankan:
pnpm test-unit
dari akar proyek.
Jika ada tes yang gagal, pastikan untuk memperbaikinya bersama dengan perubahan Anda. Lihat Menafsirkan Kesalahan Tes Untuk informasi lebih lanjut tentang bagaimana tes dieksekusi, terutama tes integrasi.
Setelah Anda yakin bahwa perubahan Anda berfungsi dengan baik, buka permintaan tarik pada repositori utama.
Permintaan tarik akan ditinjau oleh pengelola dan tes akan diperiksa oleh platform integrasi berkelanjutan kami.
Ada 2 jenis tes dalam tes repositori ini - unit dan tes integrasi.
Tes unit dijalankan secara lokal dengan jest
dan dijalankan dengan cepat karena mereka menguji unit kode terkecil.
Tes integrasi membuat penyebaran ke akun Vercel Anda menggunakan nama proyek test
. Setelah setiap tes digunakan, kunci probes
digunakan untuk memeriksa apakah responsnya adalah nilai yang diharapkan. Jika nilainya tidak cocok, Anda akan melihat pesan yang menjelaskan perbedaannya. Jika penyebaran gagal membangun, Anda akan melihat pesan yang lebih umum seperti berikut:
[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]
Dalam kasus seperti itu, Anda dapat mengunjungi URL dari penyebaran yang gagal dan menambahkan /_logs
untuk melihat kesalahan build. Dalam kasus di atas, itu adalah https://test-8ashcdlew.vercel.app/_logs
Log dari penyebaran ini akan berisi kesalahan aktual yang dapat membantu Anda memahami apa yang salah.
Meskipun menjalankan suite integrasi penuh secara lokal tidak disarankan, terkadang berguna untuk mengisolasi tes yang gagal dengan menjalankannya di mesin Anda. Untuk melakukannya, Anda harus memastikan Anda memiliki kredensial yang sesuai yang bersumber di shell Anda:
Buat token akses. Ikuti Insructions di sini https://vercel.com/docs/rest-api#creating-an-access-token. Pastikan cakupan token adalah untuk akun pribadi Anda.
Ambil ID Tim dari Dashboard Vercel di https://vercel.com/<MY-TEAM>/~/settings
.
Sumber ini ke dalam file shell rc Anda: echo 'export VERCEL_TOKEN=<MY-TOKEN> VERCEL_TEAM_ID=<MY-TEAM-ID>' >> ~/.zshrc
Dari sana, Anda harus dapat memicu tes integrasi. Pilih satu yang sudah terisolasi untuk memeriksa bahwa hal -hal berhasil:
cd packages/next
Jalankan tes:
pnpm test test/fixtures/00-server-build/index.test.js
Beberapa pembangun menggunakan @vercel/nft
untuk file tree-shake sebelum penyebaran. Jika Anda mencurigai kesalahan dengan mekanisme pelepasan pohon ini, Anda dapat membuat skrip berikut dalam proyek Anda:
const {nodefileTrace} = membutuhkan ('@vercel/nft'); nodefiletrace (['path/to/entrypoint.js'], { TS: Benar, MixedModules: Benar,}) .then (o => console.log (o.filelist))) .then (e => console.Error (e));
Saat Anda menjalankan skrip ini, Anda akan melihat semua file yang diimpor. Jika file hilang, bug ada di @vercel/nft dan bukan pembangun.
Terkadang Anda ingin menguji perubahan pada pembangun terhadap proyek yang ada, mungkin dengan vercel dev
atau penyebaran yang sebenarnya. Anda dapat menghindari menerbitkan setiap perubahan pembangun ke NPM dengan mengunggah pembangun sebagai tarball.
Ubah Direktori ke cd ./packages/node
Jalankan pnpm build
untuk mengkompilasi naskah dan langkah -langkah build lainnya
Jalankan npm pack
untuk membuat file tarball
Jalankan vercel *.tgz
untuk mengunggah file tarball dan mendapatkan URL
Edit Proyek vercel.json
yang ada dan ganti use
dengan URL
Jalankan vercel
atau vercel dev
untuk digunakan dengan pembangun eksperimental
Kode Etik
Pedoman yang berkontribusi
Lisensi Apache 2.0