發展。預覽。船。
文檔· 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
進行更改之前,請確保所有測試通過。
您可以使用cli
軟件包中的pnpm vercel
來調用局部更改的Vercel CLI:
cd ./packages/cli pnpm vercel <cli-commands...>
有關更多詳細信息,請參見CLI本地開發。
完成更改後(我們甚至建議一路上這樣做),請確保所有測試仍然通過運行:
pnpm test-unit
從項目的根源。
如果任何測試失敗,請確保將其與更改一起修復。有關如何執行測試,尤其是集成測試的更多信息,請參見解釋測試錯誤。
一旦您確信更改正常工作,請在主存儲庫上打開拉動請求。
維護者將審查拉動請求,並將通過我們的連續集成平台檢查測試。
此存儲庫中有兩種測試 - 單元測試和集成測試。
單位測試是在jest
運行的,并快速執行,因為它們正在測試最小的代碼單元。
集成測試使用test
項目名稱為您的Vercel帳戶創建部署。部署每個測試後, 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。確保令牌範圍用於您的個人帳戶。
從https://vercel.com/<MY-TEAM>/~/settings
my-team>/~/settings中獲取Vercel儀表板的團隊ID。
將這些源源源到您的shell 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
將其用於Treeake Files。如果您懷疑這種震驚的機制有錯誤,則可以在項目中創建以下腳本:
const {nodefiletrace} = require('@vercel/nft'); nodefiletrace(['path/to/to/to/entrypoint.js'],{ TS:是的, 混合模塊:true,}) 。 然後(e => console.error(e));
運行此腳本時,您將看到所有導入的文件。如果缺少文件,則該錯誤在 @vercel/nft中,而不是構建器。
有時,您想通過vercel dev
或實際部署對建築商進行更改。您可以避免通過將構建器上傳為TARBALL來發布每個建築商更改為NPM。
將目錄更改為所需的構建器cd ./packages/node
運行pnpm build
以編譯打字稿和其他構建步驟
運行npm pack
來創建一個TARBALL文件
運行vercel *.tgz
上傳tarball文件並獲取一個URL
編輯任何現有的vercel.json
項目,然後用URL替換use
運行vercel
或vercel dev
與實驗構建器部署
行為守則
貢獻準則
Apache 2.0許可證