javascript - 在解析为 JSON 之前执行 JS 配置(对象)

标签 javascript json config

如何在解析为 JSON 之前执行 JavaScript 文件(我的后端服务器的配置)中的函数?

示例: config.js

module.exports = {
    structure_layout: {
        BUILDING: "BUILDING",
        FLOOR: "FLOOR",
        ROOM: "ROOM",
    },
    structure: {
        HOUSE: {
            type: function () {
                return this.structure_layout.BUILDING
            }
        },
        FLAT: {
            type: function () {
                return this.structure_layout.FLOOR
            }
        },
    }
};

解析后预期的config.json:

{
  "structure_layout": {
    "BUILDING": "BUILDING",
    "FLOOR": "FLOOR",
    "ROOM": "ROOM"
  },
  "structure": {
    "HOUSE": {
      "type": "BUILDING"
    },
    "FLAT": {
      "type": "FLOOR"
    }
  }
}

现在使用 JSON.stringify 我得到空的 type 属性

可能吗?

是否有其他方法可以定义 js 版本的配置而不使用具有相同结果的函数?

最佳答案

您可以在分配module.exports之前简单地运行代码。您不需要函数,只需将您想要的内容分配给属性即可。

const config = {
    structure_layout: {
        BUILDING: "BUILDING",
        FLOOR: "FLOOR",
        ROOM: "ROOM",
    },
    structure: {}
};

config.structure.HOUSE = {type: config.structure_layout.BUILDING};
config.structure.FLAT = {type: config.structure_layout.FLOOR};

module.exports = config;

关于javascript - 在解析为 JSON 之前执行 JS 配置(对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58088059/

相关文章:

Java:仅当其中一个元素尚不存在时,如何将 JSON 对象添加到 JSON 数组

javascript - 如何从javascript调用点击事件?

javascript - 使用 sapui5 生成的列表的 header

javascript - 重新排列数组中每个元素的顺序

java - Jackson 没有正确地将属性映射到 POJO

bash - 如何从 shell 脚本创建和访问 shell 配置文件?

angular - 使用 Jest 测试包含 "declare var"的组件或服务

javascript - Google Maps Api 检查地点是否在路线上

javascript - 在工具提示中隐藏长表格单元格内容

Ubuntu Upstart 不会重生