2016-07-06 22 views
8

私はTypescript(2週間)で新しく、私はd3.jsフレームワークをラップするためにプロジェクトを進めています。 "d3.d.ts"、名前空間、エクスポートモジュール、インポートの使用に関する問題が発生しました。未定義d3.scale in Typescript

私の問題:私は(d3.scale.linearを使用しようとする)、私は私のブラウザのコンソールにエラーがあります。

TypeError: d3.scale is undefined 

コード:

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

私のコンパイラオプション(私はコンパイルプロセスにエラーはありませんが、おそらく面白いです):

{ 
    "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 
    } 
} 

成功なし。

d3.d.ts

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

私は問題を理解していないが、あなたの助けをありがとうございました。

+0

精度:罰金

d3.select(...)
仕事 –

+4

私はあなたが仕事だD3バージョン4 – Cyril

+0

を使用していると思いますd3.scale.linear'of '代わりにd3.scaleLinear''てみてください。ありがとうございました。 –

答えて

2

私は同じような種類の問題を抱えていました。私はd3バージョンにマッチしなければなりませんでした。それはd3の組み込みメソッドをサポートしていました。 D3.jsのバージョンと一致するか、あなたのバワーを更新してください。 または は現在のバージョンの組み込みメソッドと一致します。

d3.scale.ordinalでサポートされているバージョンは「3.5.17」です。以前は最新のバージョンでした。

+0

[email protected]を使用していますが、同じバージョンの入力が必要になりますが、バージョン3.5.17の入力がない場合あなたは次の? –

26

d3.jsのバージョンに注意してください バージョン4.2.1ではd3.scale.linear();次のエラーが発生します。 TypeError:d3.scale.linear()スケールが定義されていません

バージョン4.2.1では、d3.scaleLinear()を使用してこのエラーを修正しました。

関連する問題