Ich versuche d3-path
mit RequireJS zu laden. Mit Blick auf die minimierte d3-path
Quellcode, es sieht aus wie es AMD-konform ist, da ich dies in der ersten Zeile sehen:Wie lade ich ein d3-abhängiges Skript mit RequireJS?
!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s(t.d3=t.d3||{})}
Mein index.html
sieht aus wie
<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>
Und meine JS-Datei, die ich bin versuchen d3.path()
zu laden sieht aus wie
require([
"d3",
"d3-path",
"underscore"
],
function(
d3,
d3_path,
_
) {
// d3, d3_path, and _ are defined
// but d3.path() isn't defined
});
ich d3-path
indem d3_path.path()
verwenden kann, aber ich WÖ Ahmt gerne gerne d3.path()
. Wenn ich jedoch sowohl d3
als auch d3-path
auf d3
setze, überschreibt d3-path
d3
und ich verliere die wichtigsten Funktionen d3
.
Ich bin auch offen für RequireJS Best Practices, da ich nicht sicher bin, ob ich die beste Methode verwende. Vielen Dank!
Kann ich nur d3/Pfad zum Beispiel laden ?, ohne 'd3' zu laden? – drmartin
@drmartin Sie können, aber Sie haben nur Zugriff auf die Funktionen von d3.path, Sie werden nicht den Rest von d3 haben. Versuchen Sie das letzte Beispiel, ohne d3 zu laden und sehen Sie, wo das geht. – nikoshr