Node.js - 具有相互依赖变量的Globals配置文件

时间:2017-06-07 17:57:36

标签: javascript node.js express

我有一个globals.js文件,需要可以在我的应用中的多个文件中访问。

这些全局变量是相互依赖的,我想设置我的数据文件,以便参数相对于彼此。我正在尝试以下方法:

const config = {
  "canvas": {
    "width": 600,
  },
  "shape": {
    "width": function() {
      return config.canvas.width*0.9;
    };
  },
};

module.exports = config;

我的想法是,如果我更改canvas.width属性,所有更改都将级联下来。

这种方法的一个大问题是现在我需要记住哪些全局变量是函数。因此,例如在另一个文件中,我需要像这样访问它:

const config = require('./globals.js');
let width = config.shape.width();

理想情况下,我想将所有全局变量作为普通属性访问。要清楚,这些都不需要是动态的(即,在运行时重新计算) - 一旦应用程序运行,所有这些全局变量都可以一成不变。

实现这一目标的最佳方法是什么?我应该以某种方式“预先计算”或“预先构建”对象吗?

1 个答案:

答案 0 :(得分:1)

您可能正在寻找JavaScript's get syntax,这样您就可以像访问属性一样访问计算值。从你的例子来看,这是绝对必要的并不明显,因为你可以记住你需要调用一个函数。但是如果你真的想避免显式函数调用,请使用getter。