我可以从nodejs应用程序中读取github repo中的文本文件吗



我想从某人的github存储库中的文本文件中获取数据。我可以使用nodejs(就像在octokit.js的帮助下通过api调用(来实现这一点吗。

您可以尝试使用节点提取并从原始文件中获取文本。

例如:

const fetch = require('node-fetch');
const getNames = () => {
fetch('https://raw.githubusercontent.com/jeanphorn/wordlist/master/usernames.txt')
.then(res => res.text()).then(data => {
console.log(data);
}).catch(err => console.log('fetch error', err));
};

或者你可以用这种方式试试。

const fetch = require('node-fetch');
const getNames = async() => {
try {
const names = await fetch('https://raw.githubusercontent.com/jeanphorn/wordlist/master/usernames.txt');
const textData = await names.text();
return textData;
} catch (err) {
console.log('fetch error', err);
}
};
(async () => {
const getText = await getNames();
console.log(getText)
})();

如果你不确定如何获得原始链接。转到github项目,点击你想从中获取文本的文本文件,然后在文本的右上角应该有一个名为RAW的按钮。

使用Octokit,您可以使用以下方法获取文件的内容:

octokit.rest.repos.getContent({
owner,
repo,
path,
});

参考:https://octokit.github.io/rest.js/v18#repos-获取内容

使用superface sdk可以非常容易地读取文本文件内容,不仅可以从github读取,还可以从bitbucket和gitlab读取。例如,让我们从中检索README.md文件https://github.com/superfaceai/one-sdk-js

npm install @superfaceai/one-sdk
npx @superfaceai/cli install vcs/single-file-content

const { SuperfaceClient } = require('@superfaceai/one-sdk');
const sdk = new SuperfaceClient();
async function run() {
// Load the installed profile
const profile = await sdk.getProfile('vcs/single-file-content');
// Use the profile
const result = await profile
.getUseCase('SingleFileContent')
.perform({
owner: 'superfaceai',
repo: 'one-sdk-js',
path: '/README.md',
ref: 'c5e4d76'
});
return result.unwrap();
}
run();

相关内容

  • 没有找到相关文章

最新更新