仍在掌握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;
为什么会这样,我该如何解决这个问题?或者从课堂内调用外部函数是不好的做法?
答案 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