RequireJSを使用してd3-path
をロードしようとしています。RequireJSを使用してd3依存スクリプトをロードする方法は?
!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s(t.d3=t.d3||{})}
マイindex.html
が
<script>
require.config({
paths: {
"d3": "https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min",
"d3-path": "https://d3js.org/d3-path.v1.min",
"underscore": "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min",
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"
}
});
</script>
そして、私は私のJSファイルを次のようになります。私は最初の行でこれを参照するので、それはAMDに準拠しているように縮小さ
d3-path
ソースコードを見ると、それが見えます
d3.path()
をロードしようとすると、私は
d3_path.path()
を行うことによって
d3-path
を使用することができますが、私はめざし
require([
"d3",
"d3-path",
"underscore"
],
function(
d3,
d3_path,
_
) {
// d3, d3_path, and _ are defined
// but d3.path() isn't defined
});
のように見えます理想的にはuldはd3.path()
のようにします。しかし、d3
とd3-path
をd3
に設定した場合、は、d3
に上書きされ、メインのd3
機能は失われます。
私は最良の方法を使用しているかどうかわからないので、RequireJSのベストプラクティスも公開されています。ありがとう!
ロード 'd3'なしで、たとえばd3/pathのみをロードできますか? – drmartin
@drmartinあなたはd3.pathによって与えられた機能にのみアクセスできますが、d3の残りの部分はありません。 d3をロードせずに最後の例を試して、どこに行くかを見てください。 – nikoshr