我有一个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();
理想情况下,我想将所有全局变量作为普通属性访问。要清楚,这些都不需要是动态的(即,在运行时重新计算) - 一旦应用程序运行,所有这些全局变量都可以一成不变。
实现这一目标的最佳方法是什么?我应该以某种方式“预先计算”或“预先构建”对象吗?
答案 0 :(得分:1)
您可能正在寻找JavaScript's get syntax,这样您就可以像访问属性一样访问计算值。从你的例子来看,这是绝对必要的并不明显,因为你可以记住你需要调用一个函数。但是如果你真的想避免显式函数调用,请使用getter。