节点:'最佳实践'使用其他js文件的js文件

时间:2015-03-31 18:20:18

标签: javascript node.js

以下是该方案:

Main.js:

var one = require(./one.js);
var two = require(./two.js);

two.foo();

one.js:

module.exports = {
  foo: function () {
    console.log("this was called by two");
  }
};

two.js:

module.exports = {
  foo: function () {
    one.foo();
  }
};

我在main中调用两个函数之一,然后调用函数,然后记录。目前,我在two.js中出现错误,说"一个未定义。"这样做的目的是将一个巨大的js文件拆分成较小的文件,这些文件都以某种方式相互使用。如果无法做到这一点,请告诉我。

到目前为止,我能想到的唯一解决方案是:

  1. 在two.js中要求one.js
  2. 以某种形式的init函数将一个实例传递给两个
  3. 一个全球实例?

2 个答案:

答案 0 :(得分:3)

你需要在two.js中要求one.js,就像你说的那样。访问另一个文件的每个文件都需要该文件。

答案 1 :(得分:1)

像这样:

Main.js:

var two = require(./two);
two.foo();

one.js:

module.exports = {
  foo: function () {
    console.log("this was called by two");
  }
};

two.js:

var one = require(./one);
module.exports = {
  foo: function () {
    one.foo();
  }
};