21

Lo-Dash には特別な Underscore 互換のビルドがあり、表向きは関数の引数/操作の違いに対処していることに気付きました (Lo-Dash は Underscore のスーパーセットであるため、Lo-Dash に不足している Underscore 関数はないと思います)。

また、BackboneJS は Underscore または Lo-Dash で使用できることにも気付きました。

私の質問: Lo-Dash の「通常の」ビルドを BackboneJS で使用するのは賢明ではないでしょうか? 人々が実際にこれを行っているかどうかの兆候を見つけることはできませんが、特に BackboneJS がこれらのビルドで異なる可能性がある関数に依存している場合は、悪い考えのように思えます。同時に、Lo-Dash でいくつかの新しい機能を使用するとよいので、必要でない場合はそれらを見逃したくありません。

4

3 に答える 3

10

[編集] lodash をかなり長い間使用した後の個人的な経験から、違いはそれほど大きな問題ではないことがわかりました。通常のビルドを使用することをお勧めしますが、リスクを冒したくない場合は、互換ビルドを使用してください。


答えを知るには、下線付きの Lo-Dash ビルドとプレーンな Lo-Dash の違いをまとめたこの wiki ページを参照してください。

https://github.com/lodash/lodash/wiki/build-differences

Underscore ビルド (Underscore ビルドのサブセットである Backbone ビルドを含む)

  • Lo-Dash の直感的なチェーンは、Underscore の明示的なチェーン スタイルに置き換えられます。_.chainあなたがそれを使用したい場合、メソッドはまだそこにあります。
  • _.eachコールバックが false を返す場合、メソッドは早期に終了しません。
  • _.defaultsandメソッドは_.extend、ソース オブジェクトの継承されたプロパティを反復処理します。
  • _.contains_.omit_.pick、 などのメソッドから余分な機能が削除されます。_.template
于 2013-08-22T12:33:31.803 に答える
3

私は個人的にrequire.jsを使用してアンダースコア/ロダッシュをロードしています。したがって、AMD を使用して「_」を渡している限り、アプリのバックボーンはアンダースコアかロダッシュかを認識しません。

私がlodashを使い始めたのは、lodashの方がパフォーマンスが優れていると読んだからです。アンダースコアとロダッシュのパフォーマンスをググればわかると思います。これまでのところ、lodash に欠けている機能は見当たりません。

とにかく、「Require」構成ファイルで1行のコードを変更して、Underscoreを使用するように戻す贅沢があります...

于 2013-06-20T23:06:49.030 に答える