javascript - 从对象属性声明变量

标签 javascript node.js

我有一个带有常量的简单对象。

{
  KEY1: "value1",
  KEY2: "value2"
}

我想让它们在全局范围内都能访问。
我在全局范围内创建这个对象,像 Config.KEY1
一样使用它 但我正在尝试找到一种方法,以便我只使用 KEY 来获取值。
app.js

const express = require('express')
const app = express()

//load app config variables
const config = require('config') //this returns the plain object with config keys and dvalues
...config //oops, can't do this :(

如果我能做如下的事情,我认为它应该有效。

const express = require('express')
const app = express()

//load app config variables
const KEY1 = "value1"
const KEY2 = "value2"

最佳答案

导入配置对象时对其进行解构,以便拥有独立的变量名称:

const { KEY1, KEY2 } = require('config');

您还可以将配置与全局对象结合起来,允许您在任何地方使用这些独立的变量名称,而无需在任何地方导入配置,但这在我看来并不是一个好主意:

const util = require('./util');
Object.assign(global, util);

(确保您没有任何与全局对象上的属性冲突的属性)

关于javascript - 从对象属性声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60124916/

相关文章:

javascript - 数据表 Highcharts

javascript - 在 Canvas 上绘图时出现 HTML 错误

javascript - 如何使用Node.js从json文件中读取数据并将读取的数据显示为html?

javascript - ExpressJS 中最好的 session 存储 - NodeJS

javascript - 根据请求将 MySQL 数据从 PHP 发布和检索到 html

javascript - 如何在 JavaScript 中使用 for 循环检索多个 JSON 对象

javascript - 是否可以从内存中的 html 字符串加载 Electron webContents?

javascript - Javascript 中对象的默认值

node.js - npm 3.5.4 : EBUNDLEOVERRIDE during update causes npmlog error

javascript - Async.map - 让它忽略错误,并处理整个列表