Pau*_*erg 5 github tar github-api
我在浏览next.js存储库时注意到这个函数从 GitHub 下载并提取模板,带有 tar:
export async function downloadAndExtractExample(
root: string,
name: string
): Promise<void> {
return await promisePipe(
got.stream('https://codeload.github.com/zeit/next.js/tar.gz/canary'),
tar.extract({ cwd: root, strip: 3 }, [`next.js-canary/examples/${name}`])
)
}
Run Code Online (Sandbox Code Playgroud)
我在 StackOverflow 上搜索,我只找到了这个:
这是一个解释如何从 GitHub 中提取 tar.gz 的线程,但没有提到“代码加载”子域。它与“api”有什么不同?
GitHub API 提供了获取下载档案的 URL 的最佳方式。当您对该 URL 发出 GET 请求时,它会将您重定向到codeload.github.com. codeload 是提供下载档案的服务,出于缓存原因,它位于自己的域中。
虽然可以直接使用代码加载 URL,但您通常希望使用 API URL,因为它可以更优雅地处理诸如身份验证之类的事情,并且私有存储库的代码加载 URL 通常是短暂的。
| 归档时间: |
|
| 查看次数: |
3179 次 |
| 最近记录: |