为了账号安全,请及时绑定邮箱和手机立即绑定

为什么导出的模块错误报告定义的函数“不是函数”

为什么导出的模块错误报告定义的函数“不是函数”

30秒到达战场 2021-10-29 13:27:26
这是我定义函数并使用 module.exports 导出它们的地方class GITHelper extends Helper {addLatestReport(){  simpleGitPromise.addRemote(date,remote);    return simpleGitPromise.add('.')      .then(          (addSuccess) => {            console.log(addSuccess);          }, (failedAdd) => {            console.log('adding files failed');      });}commitLatestReport(){  console.log("Committing...");  return simpleGit.commit("Latest output from Automated UI Testing", "./output");}pushLatestReport() {    console.log('Pushing...');    return simpleGit.push(remote);}}module.exports = GITHelper;我需要在另一个节点依赖文件(mochawesome)中使用这个模块var gitHelper = require('../../../helpers/GITHelper.js');然后我像这样调用函数:async function gitSender(){ await gitHelper.addLatestReport(); await gitHelper.commitLatestReport(); await gitHelper.pushlatestReport(); console.log("Upload completed");}“类型错误:gitHelper.addLatestReport 不是函数”这些不是定义的函数吗?它们没有被正确导出吗?
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

在你的方法GITHelper类的实例方法(而不是静态方法)。addLatestReport, commitLatestReport,pushLatestReport在GITHelper.prototype. 所以方法从实例 ( const gitHelper = new GitHelper; gitHelper.addLatestReport();)变得有意义。


尝试创建一个实例GitHelper来使用这些方法


const GitHelper = require('../../../helpers/GITHelper.js');

const gitHelper = new GitHelper();


async function gitSender()

{

 await gitHelper.addLatestReport();

 await gitHelper.commitLatestReport();

 await gitHelper.pushlatestReport();

 console.log("Upload completed");

}

另一种选择是制作静态方法。如果方法不使用this关键字,则方法可以是静态的。


class ConsoleExample {

   static sayHello() {

      console.log('hello')

   }

}



ConsoleExample.sayHello();


查看完整回答
反对 回复 2021-10-29
  • 1 回答
  • 0 关注
  • 175 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信