允许用户通过json对象配置设置

时间:2017-01-17 16:23:21

标签: javascript json node.js configuration

我正在为节点创建一个小型JavaScript库来管理基本的Web身份验证工作流程。当用户配置Express中间件时,他可以提供或不提供具有其首选配置的json对象,例如

printf("%d\n", 2);
printf("%lu\n", 2ul);
printf("%lu\n", 2UL);
printf("%lu\n", 1ul * 2);
printf("%lu\n", (undersigned long) 2);

如果他没有提供它,那么库应该使用fallback config json。但如果他提供它,图书馆应该使用后备加上他覆盖的属性。将用户配置与应用程序配置文件合并的最佳方法是什么?我想我可以迭代每个属性并检查用户想要覆盖哪些属性。有没有更好的方法呢?也许是一个处理这些用例的库?这些场景如何由生产库处理?

编辑: 我的解决方案基于以下答案和这篇有用的博文:

https://blog.mariusschulz.com/2015/03/30/combining-settings-objects-with-lodash-assign-or-merge

如果您想进一步了解lodash为克隆对象提供的不同方法,请查看以下问题:

Lodash - difference between .extend() / .assign() and .merge()

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

您可以使用_.defaultsDeep或来自https://lodash.com_.defaults取决于您的需求。 另请注意,这些方法会改变对象。