从node.js中的必需类调用外部函数

时间:2016-05-23 22:24:18

标签: javascript node.js

仍在掌握node.js.我注意到如果在主js文件中定义了类,你可以从类中调用类外部的函数。

function b(){
    console.log('b');
}
class X{
    a(){
        b();
    }
}

var c = new X();
c.a();

以上工作正常,但是如果我使用require将类创建为自己的文件,它会告诉我函数未定义。

主档案:

var X = require('./X.js');
function b(){
   console.log('b');
}
var c = new X();
c.a();

X.js:

class X{
    a(){
        b();
    }
}
module.exports = X;

为什么会这样,我该如何解决这个问题?或者从课堂内调用外部函数是不好的做法?

1 个答案:

答案 0 :(得分:0)

如果要访问文档之外的类,则需要使用module.exports或其中一种变体导出该类。 E.g:

档案a.js:

function testClass(){
  console.log("Test class accessed on file a.js");
}
module.exports.testClass = testClass;

文件b.js:

a = require('./a.js'); // check path to a.js

a.testClass();

编辑: 只需提醒一下,运行node b.js即可打印Test class accessed on file a.js