พัฒนา. ดูตัวอย่าง เรือ.
เอกสาร · Changelog · แม่แบบ · CLI
คลาวด์ส่วนหน้าของ Vercel ให้ประสบการณ์นักพัฒนาและโครงสร้างพื้นฐานในการสร้างปรับขนาดและรักษาความปลอดภัยเว็บที่เร็วขึ้นและเป็นส่วนตัวมากขึ้น
เริ่มต้นด้วยการนำเข้าโครงการเลือกเทมเพลตหรือใช้ Vercel CLI จากนั้น git push
เพื่อปรับใช้
สำหรับรายละเอียดเกี่ยวกับวิธีการใช้ Vercel ตรวจสอบเอกสารของเรา
โครงการนี้ใช้ PNPM เพื่อติดตั้งการพึ่งพาและเรียกใช้สคริปต์
คุณสามารถใช้สคริปต์ vercel
เพื่อเรียกใช้การเปลี่ยนแปลงในพื้นที่ราวกับว่าคุณเรียกใช้ Vercel CLI ตัวอย่างเช่น vercel deploy --cwd=/path/to/project
สามารถเรียกใช้กับการเปลี่ยนแปลงในท้องถิ่นด้วย pnpm vercel deploy --cwd=/path/to/project
เมื่อมีส่วนร่วมในที่เก็บนี้โปรดพูดคุยเกี่ยวกับการเปลี่ยนแปลงที่คุณต้องการผ่านการหารือกับ GitHub กับเจ้าของที่เก็บนี้ก่อนที่จะส่งคำขอดึง
โปรดอ่านจรรยาบรรณของเราและติดตามในการโต้ตอบทั้งหมดของคุณกับโครงการ
โครงการนี้ได้รับการกำหนดค่าใน monorepo โดยที่หนึ่งที่เก็บมีแพ็คเกจ 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 ท้องถิ่นสำหรับรายละเอียดเพิ่มเติม
เมื่อคุณทำการเปลี่ยนแปลงของคุณเสร็จแล้ว (เราแนะนำให้ทำไปพร้อมกัน) ตรวจสอบให้แน่ใจว่าการทดสอบทั้งหมดยังคงผ่านไปโดยการวิ่ง:
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
บันทึกของการปรับใช้นี้จะมีข้อผิดพลาดจริงซึ่งอาจช่วยให้คุณเข้าใจสิ่งที่ผิดพลาด
ในขณะที่ไม่แนะนำให้ใช้ชุดรวมชุดเต็มในเครื่อง แต่บางครั้งก็มีประโยชน์ในการแยกการทดสอบที่ล้มเหลวโดยการรันบนเครื่องของคุณ ในการทำเช่นนั้นคุณจะต้องตรวจสอบให้แน่ใจว่าคุณมีข้อมูลประจำตัวที่เหมาะสมที่มาในเชลล์ของคุณ:
สร้างโทเค็นการเข้าถึง ติดตามการเกิดขึ้นที่นี่ https://vercel.com/docs/rest-api#creating-an-access-token ตรวจสอบให้แน่ใจว่าขอบเขตโทเค็นสำหรับบัญชีส่วนตัวของคุณ
คว้า ID ทีมจากแผงควบคุม Vercel ที่ https://vercel.com/<MY-TEAM>/~/settings
แหล่งที่มาเหล่านี้ลงในไฟล์เชลล์ RC ของคุณ: 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/entrypoint.js'], { TS: จริง MixtModules: จริง,}) .THEN (o => console.log (o.fileList))) . แล้ว (e => console.error (e));
เมื่อคุณเรียกใช้สคริปต์นี้คุณจะเห็นไฟล์ที่นำเข้าทั้งหมด หากไฟล์หายไปข้อผิดพลาดอยู่ใน @vercel/nft ไม่ใช่ผู้สร้าง
บางครั้งคุณต้องการทดสอบการเปลี่ยนแปลงกับผู้สร้างกับโครงการที่มีอยู่บางทีอาจจะมี vercel dev
หรือการปรับใช้จริง คุณสามารถหลีกเลี่ยงการเผยแพร่ผู้สร้างทุกคนเปลี่ยนเป็น NPM โดยการอัปโหลดผู้สร้างเป็น tarball
เปลี่ยนไดเรกทอรีเป็น cd ./packages/node
เรียกใช้ pnpm build
เพื่อรวบรวม typescript และขั้นตอนการสร้างอื่น ๆ
เรียกใช้ npm pack
เพื่อสร้างไฟล์ tarball
เรียกใช้ vercel *.tgz
เพื่ออัปโหลดไฟล์ tarball และรับ URL
แก้ไขโครงการ vercel.json
ที่มีอยู่และแทนที่ use
ด้วย URL
เรียกใช้ vercel
หรือ vercel dev
เพื่อปรับใช้กับผู้สร้างทดลอง
จรรยาบรรณ
แนวทางการสนับสนุน
ใบอนุญาต Apache 2.0