为什么我的基本功能不起作用(在NodeJS中)?

时间:2019-07-18 13:07:59

标签: javascript node.js debugging

我正在处理一个nodejs项目,并且有一个小问题。我知道这个问题并不难解决,但是我已经搜索了几个小时,但仍然不知道如何解决这个问题:

var gs = require('./gs1');
if (uncompressedDigitalLinkInput != "") {
    try {
        this.error3="";
        console.log("Test");
        gs.myfunction();
    } 
    catch(err) {
        this.error3=err+"\n"+err.stack;
        return "";
    }
} 
else {
    return "";
}

问题出在那行:

console.log("Test");
gs.myfunction();

实际上,在这两个中,只有console.log有效。另一个没有。

这是“ gs.myfunction”的代码

class GS1DigitalLinkToolkit {
    function myfunction(){
        console.log('Function called');
    }
}
module.exports.myfunction = myfunction;

它告诉我“ gs.myfunction不是函数”。我确保需求是正确的道路。那么为什么它不起作用?

2 个答案:

答案 0 :(得分:1)

发生这种情况是因为该方法只能由GS1DigitalLinkToolkit的实例调用。两种可能的解决方案可以是:

1)将方法设为静态并将其导出为

class GS1DigitalLinkToolkit {
  static myfunction() {
      console.log('Function called');
  }
}

module.exports.myfunction = GS1DigitalLinkToolkit.myfunction

2)导入类,创建一个实例并在其上调用方法

class GS1DigitalLinkToolkit {
    function myfunction(){
        console.log('Function called');
    }
}
module.exports.gsclass = GS1DigitalLinkToolkit;

var gs = require('./gs1');
if (uncompressedDigitalLinkInput != "") {
    try {
        this.error3="";
        console.log("Test");
        gs1 = new gs.gsclass();
        gs1.myfunction();
    } 
    catch(err) {
        this.error3=err+"\n"+err.stack;
        return "";
    }
} 
else {
    return "";
}

答案 1 :(得分:0)

对于主文件#include <iostream> #include <string> int main() { std::string password = "gang"; std::string input; do { std::cout << "Enter password here: "; if ( not ( std::cin >> input ) or ( input != password ) ) { std::cin.clear(); std::cout << "Password incorrect\n"; } } while ( input != password ); std::cout << "Password correct" << std::endl; return 0; }

cvs -d :pserver:anonymous@cvs.infodrom.org:/var/cvs/$repository login

Logging in to :pserver:anonymous@cvs.infodrom.org:2401/var/cvs/config

CVS password: 

cvs [login aborted]: unrecognized auth response from cvs.infodrom.org: /usr/bin/cvs: unrecognized option '--allow_root=/var/cvs/debian'

此必需文件test.js

var gs = require('./gs1')
gs.myfunction();

您应该得到:

gs1.js