Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用对象访问javascript中自调用函数的函数_Javascript_Node.js - Fatal编程技术网

使用对象访问javascript中自调用函数的函数

使用对象访问javascript中自调用函数的函数,javascript,node.js,Javascript,Node.js,我有一段代码的相同结构,希望访问在其他文件中定义的函数…我如何才能做到这一点尝试module.exports&require app.js var x= require('./invkFunc1'); x.display1(); x.display2(); x.display3(); invkFunc1.js var x = require('./invkFunc2'); (function(x){ //var x= {} disp1 = "hello i am fro

我有一段代码的相同结构,希望访问在其他文件中定义的函数…我如何才能做到这一点尝试
module.exports&require

app.js

var x= require('./invkFunc1');

x.display1();
x.display2();
x.display3(); 
invkFunc1.js

var x = require('./invkFunc2');

(function(x){
    //var x=  {}
    disp1 = "hello i am from display1"
    x.display1 = function(){
        console.log(disp1)
    }
    return x;
}(x));
var x = require('./invkFunc3');

(function(x){
    //var x=  {}
    x.disp2 = "hello i am from display2"
    x.display2 = function(){
        console.log(x.disp2)
    }
   return x;
}(x));
module.exports = 

(function(){

var x=  {}
    x.disp3 = "hello i am from display3";
    x.display3 = function(){

        console.log(x.disp3)
    }
   return x;
}());
invkFunc2.js

var x = require('./invkFunc2');

(function(x){
    //var x=  {}
    disp1 = "hello i am from display1"
    x.display1 = function(){
        console.log(disp1)
    }
    return x;
}(x));
var x = require('./invkFunc3');

(function(x){
    //var x=  {}
    x.disp2 = "hello i am from display2"
    x.display2 = function(){
        console.log(x.disp2)
    }
   return x;
}(x));
module.exports = 

(function(){

var x=  {}
    x.disp3 = "hello i am from display3";
    x.display3 = function(){

        console.log(x.disp3)
    }
   return x;
}());
invkFunc3.js

var x = require('./invkFunc2');

(function(x){
    //var x=  {}
    disp1 = "hello i am from display1"
    x.display1 = function(){
        console.log(disp1)
    }
    return x;
}(x));
var x = require('./invkFunc3');

(function(x){
    //var x=  {}
    x.disp2 = "hello i am from display2"
    x.display2 = function(){
        console.log(x.disp2)
    }
   return x;
}(x));
module.exports = 

(function(){

var x=  {}
    x.disp3 = "hello i am from display3";
    x.display3 = function(){

        console.log(x.disp3)
    }
   return x;
}());
错误:

x.display1();
  ^

TypeError: x.display1 is not a function
    at Object.<anonymous> (c:\Users\prabhat.mishra\Desktop\Chrome-DOM-EXT\extension as on 2rd july 2018\SampleExtension\module.exports\app.js:39:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3
提前谢谢

如果你想使用“require”,你应该先导出,你可以这样编码

app.js:

var x = require('./invkFunc1');

x.display1();
x.display2();
x.display3();
invkFunc1.js

var x = require('./invkFunc2');
var disp1 = "hello i am from display1"
x.display1 = function(){
  console.log(disp1)
}
module.exports = x;
invkFunc2.js

var x = require('./invkFunc3');
var disp2 = "hello i am from display2"
x.display2 = function(){
  console.log(disp1)
}
module.exports = x;
invkFunc3.js

var x = {}
x.disp3 = "hello i am from display3";
x.display3 = function () {
  console.log(x.disp3)
}
module.exports = x;

我认为你必须用封装来把它们联系起来。这是一个巨大的代码重组,需要花费很多时间。