首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从node.js中所需的类调用外部函数

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

Stack Overflow用户
提问于 2016-05-24 06:24:18
回答 1查看 1K关注 0票数 1

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

代码语言:javascript
运行
复制
function b(){
    console.log('b');
}
class X{
    a(){
        b();
    }
}

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

上面的方法运行得很好,但是如果我使用require创建类自己的文件,它会告诉我没有定义函数。

主文件:

代码语言:javascript
运行
复制
var X = require('./X.js');
function b(){
   console.log('b');
}
var c = new X();
c.a();

X.js:

代码语言:javascript
运行
复制
class X{
    a(){
        b();
    }
}
module.exports = X;

为什么会出现这种情况,我该如何解决?或者,从类内部调用外部函数是不是很糟糕?

EN

回答 1

Stack Overflow用户

发布于 2016-05-24 07:29:26

如果你想在描述类的文件之外访问它,你需要使用module.exports或者它的变种来导出它。例如:

文件a.js:

代码语言:javascript
运行
复制
function testClass(){
  console.log("Test class accessed on file a.js");
}
module.exports.testClass = testClass;

文件b.js:

代码语言:javascript
运行
复制
a = require('./a.js'); // check path to a.js

a.testClass();

编辑:只是提醒一下,运行node b.js,它应该会打印Test class accessed on file a.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37401517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档