Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 故障排除';无法读取属性,未定义';错误_Node.js_Typescript_Octokit Js - Fatal编程技术网

Node.js 故障排除';无法读取属性,未定义';错误

Node.js 故障排除';无法读取属性,未定义';错误,node.js,typescript,octokit-js,Node.js,Typescript,Octokit Js,我有这个功能 函数getAvailableProviders(tmpDir、snips、processRepo){ 常量octokit=require(“@octokit/rest”); octokit.repos.listForOrg( {org:“地形提供者”,键入:“公共”,每页100}, (错误、结果)=>{ result.data.forEach((元素)=>{ processRepo(tmpDir、element.name、snips、iterateOnDocFiles); });

我有这个功能

函数getAvailableProviders(tmpDir、snips、processRepo){
常量octokit=require(“@octokit/rest”);
octokit.repos.listForOrg(
{org:“地形提供者”,键入:“公共”,每页100},
(错误、结果)=>{
result.data.forEach((元素)=>{
processRepo(tmpDir、element.name、snips、iterateOnDocFiles);
});
},
);
}
当我运行我的程序时,我从typescript编译器中得到这个错误

(node:15713) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'listForOrg' of undefined
问题在于,根据octokit文档,定义了
repos.listForOrg


我只是在尝试学习(typescript和node),同时重新创建一些被原始devleoper放弃的东西。根据octokit文档,我有我的需求声明。它没有接触到api。我还需要在我的节点项目中安装其他东西才能正常工作吗?

我想你需要对你的
require
稍作修改,并添加
const octokit=new octokit()在require之后(插入示例中的第3行):

函数getAvailableProviders(tmpDir、snips、processRepo){
const{Octokit}=require('@Octokit/rest');//{
processRepo(tmpDir、element.name、snips、iterateOnDocFiles);
});
},
);
}

请参见

我认为您需要对
require
稍作修改,并添加
const octokit=new octokit()在require之后(插入示例中的第3行):

函数getAvailableProviders(tmpDir、snips、processRepo){
const{Octokit}=require('@Octokit/rest');//{
processRepo(tmpDir、element.name、snips、iterateOnDocFiles);
});
},
);
}

请参见

您是否查看了使用说明文件:?看起来您需要解构
Octokit
const{Octokit}=require(@Octokit/rest))。然后用正确的配置设置它,它的返回值就是exposes
repos.listForOrg
。这不是我对第2行所做的吗?为了它的价值,我重写了与文档中相同的行,上面列出了相同的错误。你看过使用文档了吗?看起来您需要解构
Octokit
const{Octokit}=require(@Octokit/rest))。然后用正确的配置设置它,它的返回值就是exposes
repos.listForOrg
。这不是我对第2行所做的吗?为了它的价值,我重写了与文档中相同的行,上面列出了相同的错误。
  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);
      });
    },
  );
}