Могу ли я прочитать текстовый файл из репозитория github из приложения nodejs?

#javascript #node.js #github #octokit

Вопрос:

Я хочу получить данные из текстового файла в чьем-то репозитории github. Могу ли я сделать это с помощью nodejs (например, с помощью octokit.js путем вызова api).

Ответ №1:

Вы можете попробовать использовать node-fetch и получить текст из исходного текста.

Для примера:

 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.

Ответ №2:

С помощью Octokit вы можете получить содержимое файла, используя это:

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

Ссылка: https://octokit.github.io/rest.js/v18#repos-get-contents