Node.js如何导入和导出具有子函数的模块

时间:2017-07-09 01:04:31

标签: node.js node-modules

我正在编写一个应用程序并遇到了一些麻烦。我设置了一个"类"在JavaScript中,在该类中,我调用了多个this.demo = function(){}。当我导出模块然后导入另一个页面,然后尝试使用其中一个子功能,我的应用程序告诉我它不能识别该功能。这是一个例子......我该怎么做?

function demo(){ this.test = function(msg){console.log(msg);} }
module.exports.demo = demo;

然后在另一个类中导入demo.js文件

function newClass(){
   this.demo = require('./demo');
   this.demo.test('Hello');
}

编辑告诉我,它无法识别测试......

1 个答案:

答案 0 :(得分:1)

您的代码中存在导出错误。

function demo(){ this.test = function(msg){console.log(msg);} }
module.exports.test = demo;

现在你可以正确地调用它:

function newClass(){

   this.demo = require('./demo');
   this.demo.test('Hello');

   // If you're still confused, use the console.log!
   console.log(this.demo);

}

console.log(this.demo)的输出将显示结构或演示文件。


修改:要获得require调用后的功能,请按以下方式导出:

module.exports = function demo(){ this.test = function(msg){console.log(msg);} }

现在你直接打电话:

function newClass(){

   this.demo = require('./demo');
   this.demo.test('Hello');

}