这是我定义函数并使用 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();
添加回答
举报
0/150
提交
取消