我正在使用 express,我想将一些配置放在一个文件中(如数据库配置、api 凭据和其他基本内容)。
现在我将此配置放入 JSON 中,并使用 readAsync 读取此文件。
阅读一些代码,我注意到很多人使用不使用 JSON。相反,他们使用通用 JS 文件并在模块中导出。
这些方法之间有什么区别吗,比如性能?
我正在使用 express,我想将一些配置放在一个文件中(如数据库配置、api 凭据和其他基本内容)。
现在我将此配置放入 JSON 中,并使用 readAsync 读取此文件。
阅读一些代码,我注意到很多人使用不使用 JSON。相反,他们使用通用 JS 文件并在模块中导出。
这些方法之间有什么区别吗,比如性能?
后一种方式可能会简化版本控制、测试和构建,并且更容易为生产和开发进行单独的配置。它还允许您进行一些“预处理”,例如为常见设置定义“常量”。
在设计良好的应用程序中,配置读取的性能将完全无关紧要。
如果你使用后者,你需要练习一些规则:一个配置模块应该几乎完全由文字组成,只有足够的可执行代码来处理诸如区分开发和生产之类的事情。谨防让应用程序逻辑潜入其中。
在 node.js 中 require 是同步工作的,但如果你在应用程序启动时加载配置,这并不是很重要。仅当您多次加载配置时才需要异步方式(例如,对于每个请求)。
在 node.js 中,您可以简单地要求您的 json 文件:
配置.json:
{
"db": "127.0.0.1/database"
}
应用程序.js:
var config = require('./config');
console.log(config);
如果您需要更全功能的东西,我会使用flatiron/nconf。