ノード用の小さなJavaScriptライブラリを作成して、基本的なWeb認証ワークフローを管理しています。ユーザがExpressミドルウェアを構成するとき、ユーザは彼の好ましい構成を備えたjsonオブジェクトを提供することができる。ユーザーがjsonオブジェクト経由で設定を行うことを許可する
web: {
login: {
enabled: true,
customView: myDir/myCustomLogin.html
},
logout: {
enabled: true
},
forgotPassword: {
enabled: false
},
...someOtherProperties
もし彼がそれを提供しなければ、ライブラリはfallback config jsonを使うべきです。しかし、もし彼がそれを提供すれば、図書館はフォールバックと彼が誇張した属性を使うべきです。ユーザーの設定をアプリの設定ファイルとマージするにはどうすればよいでしょうか?私は各プロパティを繰り返し、ユーザがオーバーライドしたいものがどれであるかをチェックすることができたと思います。それを行う良い方法はありますか?おそらくそれらのユースケースを扱うライブラリでしょうか?これらのシナリオはプロダクションライブラリによってどのように処理されますか?
EDIT:
https://blog.mariusschulz.com/2015/03/30/combining-settings-objects-with-lodash-assign-or-merge
あなたがオブジェクトのクローンを作成するために提供lodashさまざまな方法についての詳細をお知りになりたい場合は、この質問を確認してください。 マイソリューションは、以下の回答と、この便利なブログの記事に基づいていました:
Lodash - difference between .extend()/.assign() and .merge()
正しい方向に私を間違いなく指摘しました。私は_.merge – Bartzilla