web-dev-qa-db-ja.com

Typescriptの未定義のd3.scale

私はTypeScript(2週間)を使い始めたばかりで、d3.jsフレームワークをラップするプロジェクトに取り組んでいます。 「d3.d.ts」、名前空間、エクスポートモジュール、インポートの使用に関する問題が発生しました。

私の問題: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>;
            ...
     }
}

問題が理解できません。ご協力いただきありがとうございます。

10
Rémy Letient

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

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

35
jcoggins

同様の種類の問題がありました。D3の組み込みメソッドをサポートするD3バージョンと一致させる必要がありました。 D3.jsのバージョンを一致させるか、バウアーを更新してください。または、現在のバージョンの組み込みメソッドと一致させます。

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

3
sg28