So lösen Sie TypeError: d3.time ist nicht definiert?

8

Ich möchte Daten / Zeit mit D3.js analysieren. Zu diesem Zweck habe ich eine Javascript-Datei erstellt und verwende var d3 = require('d3') . Ich installiere D3 mit npm install d3 und probiere auch npm install d3 --save aus, was es in package.json file speichert:

%Vor%

Allerdings stehe ich vor dieser Ausnahme:

%Vor%

Programmcode:

%Vor%

Überprüfung:

%Vor%

Aber das d3-Modul befindet sich im Verzeichnis node_modules.

Warum hat es das d3 Modul nicht erkannt? Was vermisse ich?

    
kit 07.09.2016, 12:18
quelle

2 Antworten

21

Sie benötigen D3 v4.2.2 , das keine d3.time -Eigenschaft mehr besitzt, was Teil von D3 v3 war. Laut dem Changelog waren die Zeitformate Gegenstand von Änderungen zum allgemeinen Namespace flattening und wurden daher wie folgt umbenannt:

  

Allerdings erkennt es das d3 -Objekt, während d3.time nicht definiert ist. Ändern Sie Ihren Code in

%Vor%

sollte den Trick machen.

    
altocumulus 07.09.2016, 12:51
quelle
0

Das d3-Modul wird erkannt. Jede Zuweisung in JS gibt nichts zurück und führt daher die Zeile

aus %Vor%

ist verpflichtet, ... nichts zurückzugeben, also die undefined in Ihrer Überprüfung (Um sicherzustellen, geben Sie einfach var a = 0 in Ihre Konsole ein, Sie erhalten auch eine undefined Antwort). Es sieht so aus, als ob die Funktion nicht im Modul definiert ist, anstatt dass das Modul nicht geladen wird.

Sie sollten die API des Moduls überprüfen, um sicherzustellen, dass Sie die richtige Funktion verwenden.

L.E. speichern Sie einige Probleme, hier ist der Link

Ссылка

    
Silviu Preda 07.09.2016 12:56
quelle

Tags und Links