download-git-repo 一款命令行下载仓库依赖
`download-git-repo` 是一个用于从 Git 仓库下载代码的 Node.js 工具,它可以从 GitHub、GitLab 或 Bitbucket 等 Git 托管平台下载仓库。
一、安装 `download-git-repo`
npm install download-git-repo
二、基本用法
1. 简单下载
// 引入 `download-git-repo` 模块
const download = require("download-git-repo");
// 引入 Node.js 的 `path` 模块,用于处理文件路径
const path = require("path");
download(
"github:username/repository", // 指定要下载的 Git 仓库,这里是 GitHub 上的 `username/repository`
path.join(__dirname, "my-repo"), // 指定下载的目标目录,这里将下载到当前目录下的 `my-repo` 目录
// 回调函数,当下载完成时会被调用,如果发生错误,`err` 不为 `null`,否则 `err` 为 `null`,表示下载成功
(err) => {
if (err) {
console.error(err);
} else {
console.log("Repository downloaded successfully");
}
}
);
2. 从不同的 Git 托管平台下载
2.1 GitHub
download('github:username/repository', 'destination-folder', (err) => {...});
2.2 GitLab
download('gitlab:username/repository', 'destination-folder', (err) => {...});
2.3 Bitbucket
download('bitbucket:username/repository', 'destination-folder', (err) => {...});
三、使用 `clone` 选项
1. 使用 `clone` 选项进行克隆
地址需要在 direct 前缀。
download(
"direct:github:username/repository",
"destination-folder",
{ clone: true }, // 将使用 Git 克隆操作,而不是简单的下载
(err) => {
if (err) {
console.error(err);
} else {
console.log("Repository cloned successfully");
}
}
);
四、使用 `checkout` 选项
1. 指定分支或标签
download(
"github:username/repository",
"destination-folder",
{ checkout: "branch-or-tag" }, // 指定要下载的分支或标签,例如 `master` 或 `v1.0.0`
(err) => {
if (err) {
console.error(err);
} else {
console.log("Repository downloaded from branch or tag successfully");
}
}
);
五、高级用法
1. 使用 `Promise` 替代回调函数
// 使用 `default` 导出的 `Promise` 形式
const downloadPromise = require("download-git-repo").default;
// 发起下载请求,返回一个 `Promise`
downloadPromise("github:username/repository", "destination-folder")
// 下载成功时的处理。
.then(() => {
console.log("Repository downloaded successfully");
})
// 下载失败时的处理。
.catch((err) => {
console.error(err);
});