tl;dr为什么将配置数据存储在 json 文件中被认为是事实上的标准?
我最近阅读了可维护的 Javascript书的某些部分,特别是存储配置数据一章。
这是本章的引文:
配置数据最好存储在一个单独的文件中,以便在它和应用程序逻辑之间创建一个清晰的分离。一个好的起点是为配置数据创建一个单独的 JavaScript 文件。一旦配置数据位于单独的文件中,它就为管理该数据开辟了更多可能性。一个有价值的选择是将您的配置数据移动到非 JavaScript 文件中。
即使您正在编写 JavaScript 应用程序,JavaScript 也不是存储配置数据的好方法。那是因为语法仍然是编程语言的语法,所以你需要确保你没有引入语法错误。
他基本上说将配置数据存储在 .json 文件或 .js 文件中是一种不好的做法,应该避免。
来自json.org:
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。
交换对我来说意味着发送和接收数据,以格式良好的方式通信两个进程。
很多人将数据存储在 json 文件中,这增加了很多噪音:花括号、缩进、双引号、逗号、不能写注释等。
Java 使用键值行,有没有更简单的方法来存储这些数据?
a 1
并使用 json 格式(1):
{
"a": 1
}
并用js格式(2):
module.exports = {
a: 1
}
Microsoft 喜欢使用 .ini 文件来向这些键值行添加部分。
Unix 配置文件也使用键值行。
那么,如果全世界都使用键值行,因为它们很容易被人类读/写,为什么 json 文件在 node.js 世界中成为事实上的标准?请不要告诉我那是因为 json 和 javascript 实际上是同义词,因为开发人员太懒了,更喜欢调用require("./config.json")
.
在上面的例子中,第一个选项 (1) 的诞生是为了简化数据的互换性。第二个,imo,这很糟糕。这与在 Java 类中存储配置数据相同。如果我想从 php 读取此文件,因为我有一个 apache 服务器和 nodejs 用于实时处理,我应该如何解析该文件?我需要一个javascript解析器。
这两个选项都不应该有语法错误,否则程序可能会崩溃。