2016-07-06 14 views
8

Ich bin neu mit Typescript (2 Wochen), und ich arbeite an Projekt, um das d3.js-Framework zu wickeln. Ich habe ein Problem mit der Verwendung von "d3.d.ts", Namespace, Export-Modul, importieren.undefined d3.scale in Typescript

Mein Problem: Wenn ich versuche, die d3.scale.linear() zu verwenden, habe ich den Fehler in meiner Browser-Konsole:

TypeError: d3.scale is undefined 

Der Code:

/// <reference path="../typings/d3.d.ts">; 
"use strict"; 
var linear = d3.scale.linear(); 
console.log("linear resolv !") 

Meine Compiler-Option (Ich habe keinen Fehler bei der Kompilierung, aber vielleicht ist es interessant):

{ 
    "files": [ 
     "src/twod3/workspace.ts", 
     "src/twod3/component/basic.ts", 
     "src/twod3/component/data.ts", 
     "src/twod3/component/operation.ts", 
     "src/main.ts" 
    ], 
    "compilerOptions": { 
     "noImplicitAny": true, 
     "target": "es2015", 
     "module":"commonjs", 
     "sourceMap":true 
    } 
} 

Ich versuche verschiedene Import-Strategie w ohne Erfolg.

Die d3.d.ts

declare namespace d3 { 
... 
    export module scale { 
      ... 
      export function linear(): Linear<number, number>; 
      ... 
    } 
} 

Ich verstehe nicht das Problem, wir danken Ihnen für Ihre Hilfe.

+0

Präzision:

d3.select(...)
funktionieren –

+4

try 'd3.scaleLinear' statt' d3.scale.linear'of ich denke, Sie verwenden d3 Version 4 – Cyril

+0

, dass die Arbeit ist. Vielen Dank. –

Antwort

2

Ich hatte eine ähnliche Art von Problem. Ich musste die D3-Version, die die integrierte Methoden für d3 unterstützt. Entweder passen Sie die Version der D3.js, stellen Sie sicher, dass Sie Ihre Laube aktualisieren. Oder passen Sie die integrierten Methoden für Ihre aktuelle Version an.

Meine unterstützte Version für d3.scale.ordinal ist '3.5.17', zuvor war ich auf der neuesten Version.

+0

Also ich benutze die [email protected], jetzt brauche ich auch die Typisierung für die gleiche Version, aber wenn es keine Typisierungen für die Version 3.5.17 gibt, welche Version sind Du folgst? –

26

Vorsicht bei der Version für d3.js In Version 4.2.1 d3.scale.linear(); gibt den folgenden Fehler. TypeError: d3.scale.linear() Maßstab ist undefined

Ich habe diesen Fehler in Version 4.2.1 behoben, indem Sie d3.scaleLinear();