发展。预览。船。
文档· 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许可证