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

Javascript 允许用户通过json对象配置设置,javascript,json,node.js,configuration,Javascript,Json,Node.js,Configuration,我正在为node创建一个小型JavaScript库,用于管理基本的web身份验证工作流。当用户配置Express中间件时,他可以提供json对象,也可以不提供json对象 web: { login: { enabled: true, customView: myDir/myCustomLogin.html }, logout: { enabled: true }, forgotPassword: { enabled: false }, ...someOtherProperties

我正在为node创建一个小型JavaScript库,用于管理基本的web身份验证工作流。当用户配置Express中间件时,他可以提供json对象,也可以不提供json对象

web: {
login: {
  enabled: true,
  customView: myDir/myCustomLogin.html
},
logout: {
  enabled: true
},
forgotPassword: {
  enabled: false
},
...someOtherProperties
如果他没有提供,库应该使用后备配置json。但是如果他提供了它,库应该使用回退加上他覆盖的属性。将用户配置与应用程序配置文件合并的最佳方式是什么?我想我可以迭代每个属性并检查哪些是用户想要覆盖的属性。有更好的方法吗?也许是一个处理这些用例的库?生产库如何处理这些场景

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

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

这应该会起作用


这应该可以工作

您可以使用
的默认值取决于您的需要。

另外,请注意,这些方法会改变对象。

您可以使用
的默认值取决于您的需要。

另外,请注意,这些方法会改变对象。

您明确指出了我使用u.merge的正确方向。您明确指出了我使用u.merge的正确方向
Object.assign(config, userConfig);