我有这个功能
function getAvailableProviders(tmpDir, snips, processRepo) {
const octokit = require("@octokit/rest");
octokit.repos.listForOrg(
{ org: "terraform-providers", type: "public", per_page: 100 },
(error, result) => {
result.data.forEach((element) => {
processRepo(tmpDir, element.name, snips, iterateOnDocFiles);
});
},
);
}当我运行我的程序时,我从typescript编译器得到这个错误
(node:15713) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'listForOrg' of undefined问题是,根据octokit文档,定义了repos.listForOrg。
https://octokit.github.io/rest.js/v18#repos-list-for-org
我只是想学习(typescript和node),同时重新创建一些被原始开发者抛弃的东西。根据octokit文档,我有我的require语句。它没有接触到api。我还需要在我的节点项目中安装其他东西才能正常工作吗?
发布于 2021-02-26 03:43:17
我认为您需要对您的require稍作修改,并在require后面添加const octokit = new Octokit(); (在您的示例中插入为第3行):
function getAvailableProviders(tmpDir, snips, processRepo) {
const { Octokit } = require('@octokit/rest'); // <-- change this line
const octokit = new Octokit(); // <-- add this line
octokit.repos.listForOrg(
{ org: "terraform-providers", type: "public", per_page: 100 },
(error, result) => {
result.data.forEach((element) => {
processRepo(tmpDir, element.name, snips, iterateOnDocFiles);
});
},
);
}https://stackoverflow.com/questions/64672737
复制相似问题