仍然在掌握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;
为什么会出现这种情况,我该如何解决?或者,从类内部调用外部函数是不是很糟糕?
发布于 2016-05-24 07:29:26
如果你想在描述类的文件之外访问它,你需要使用module.exports
或者它的变种来导出它。例如:
文件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
https://stackoverflow.com/questions/37401517
复制相似问题