gpt4 book ai didi

node.js - 在nodejs下部署远程github仓库的一部分

转载 作者:搜寻专家 更新时间:2023-11-01 00:02:54 25 4
gpt4 key购买 nike

作为我正在修改(-g 或必需)的 npm 包使用的构建脚本的一部分,我需要将远程 github 存储库中的目录内容复制到 built 目录中.

例如。一个 ACE 编辑器版本 - 一堆远程文件。 https://github.com/ajaxorg/ace-builds/tree/master/src-min-noconflict

我不希望我的模块在本地拥有 ACE 文件,并且没有我可以要求和使用的构建的 npm 包。它应该在构建时从最新的 Remote 中拉出它。

我宁愿不克隆 repo 协议(protocol),但也许可以捕获 zipball 并从中做出一些东西。

有没有人知道任何包或脚本已经可以在不访问 shell 上的 git 的情况下执行此操作?我对依赖 git 犹豫不决,因为您可以全局安装该软件包并将其用作二进制文件...

我还能做什么? Node 石膏?沃洛也许?组件.js?任何可以从远程 git 文件系统引用和部署的东西......

最佳答案

这是一个选项吗?滚动你自己的可能很简单(我不知道任何现有的东西)

警告:我从未尝试过这个


编辑

这是一些粗略的代码。文件夹级别的内容查询不会返回编码后的内容,因此您需要迭代每个文件并发出另一个 API 请求(对于未验证的请求,这可能会触发 rate limit)

var GitHubApi = require("github")
,fs = require("fs");

var github = new GitHubApi({
version: "3.0.0"
,timeout: 5000
});

var msg = {
user: "visionmedia"
,repo: "express"
,path: "lib/router"
};

github.repos.getContent(msg, function(err, res) {
delete res.meta; //appended by wrapper, remove for iteration

for(file in res) {
msg.path = res[file].path;

github.repos.getContent(msg, function(err, res) {

fs.writeFile(res.name
,res.content
,res.encoding
,function(err){
console.log("Wrote %s to filesystem!", res.name)
});
});
};
});

关于node.js - 在nodejs下部署远程github仓库的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14759581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com