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