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

标签 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();

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

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

最佳答案

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

关于javascript - Node.js - 具有相互依赖变量的全局配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44419705/

相关文章:

javascript - MobiScroll datePicker 重置值 00-000-0000

javascript - 在 Node 导出中覆盖函数的 toString()

node.js - index.jade 没有出现在本地主机上

javascript - 如何让node js express服务器并行处理请求

node.js - NodeJS 未定义消息变量

javascript - ASP Net Core FileContentResult音频文件到Safari

javascript - 如何用表单提交时的数据属性替换值? jQuery

javascript - jQuery 确定 div 中的鼠标位置

javascript - nodejs 前置文件

mysql - 如何在node.js中隐藏mysql数据库的连接详细信息?