了解node.js exports / include

时间:2012-12-07 14:51:04

标签: node.js

我很难理解如何导出文件,然后将其包含在node.js的其他位置。

假设我正在开发一款游戏,我希望拥有定义一个或多个对象的变量,例如一个变量敌人:

var enemy = {
  health: 100,
  strengh: 87
};

我将其保存在vars.js文件中。

如何从我需要的项目中的任何位置导入这些变量?

提前致谢。

3 个答案:

答案 0 :(得分:0)

您需要导出它们。

所以Enemy.js

var enemy = {
  health: 100,
  strengh: 87
};

exports.health = enemy.health;
exports.strength = enemy.strength;

otherjsfile.js

var Enemy = require('Enemy.js');


//and then you can do 

console.log(Enemy.health); ///etc

侧点:

如果'敌人'信息定期更改并且您想获得最新值,您可以这样做:

  Object.defineProperty(exports, "health", {
    get: function() {
      return enemy.health;
    }
  }); //instead of `exports.health = enemy.health;`

  Object.defineProperty(exports, "strengh", {
    get: function() {
      return enemy.strengh;
    }
  }); //instead of `exports.strength = enemy.strength;`

答案 1 :(得分:0)

您可以从vars.js导出

module.exports = {
  health: 100,
  strengh: 87
};

var enemy = {
  health: 100,
  strengh: 87
};

module.exports = enemy;

使用require导入

var enemy = require('./path/to/vars');

答案 2 :(得分:0)

在file.js中:

module.exports = {
  health: 100,
  strengh: 87
}

在其他文件中:

var enemy = require('./file'); // (or whatever the relative path to your file is

More info here.