2016-08-21 10 views
8

私は v4と共にRequireJSを使用してd3-selection-multiをロードしようとしています。私の主なスクリプトは次のとおりです。RequireJSのd3 v4と一緒にd3-selection-multiをロードする簡単な方法は何ですか?

<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js"></script> 
<script> 
    require.config({ 
     paths: { 
      "d3": "//d3js.org/d3.v4.min", 
      "d3-selection-multi": "//d3js.org/d3-selection-multi.v1.min", 
      "d3-queue": "//d3js.org/queue.v1.min", 
      "underscore": "//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min", 
      "jquery": "//cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min", 
      "jquery_easing": "//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min", 
      "bootstrap": "//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min", 
      "moment": "//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min" 
     } 
    }); 
</script> 

しかしd3-selection-multid3-transitiond3-selection必要ですので、私はそれらを追加した場合、私はd3-transitiond3-colorなどなどが必要です見つけます。

は通常d3 v4が、d3-selectionが付属してd3-transitiond3-color、およびそのすべてではないでしょうか?これは、私が1つのマイクロライブラリを使用することを選択した後、通常のd3を使用することができず、を定義する必要があることを意味しますか?他の依存マイクロライブラリ?

d3-selection-multiを使用したかったので、.attr()のすべてを書き換えなくても、{}の構文を使用しないようにしました。

答えて

0

アプリケーションを完全にd3マイクロライブラリに切り替える必要がない場合は、requirejs map設定によって、バンドルされたd3ライブラリへの依存関係を参照できます。必要な依存関係はhereです。

requirejs.config({ 
    paths: { 
     'd3': '...', 
     'd3-selection-multi': '...', 
     ... 
    }, 
    map: { 
     '*': { 
      'd3-color': 'd3', 
      'd3-dispatch': 'd3', 
      'd3-ease': 'd3', 
      'd3-interpolate': 'd3', 
      'd3-selection': 'd3', 
      'd3-timer': 'd3', 
      'd3-transition': 'd3' 
     } 
    } 
}); 
関連する問題