2017-10-04 22 views
0

私はモジュールでD3.js V4を使用しており、ほとんどのモジュールをsingle3`名前空間にインポートしたいと思います。以下のコードスニペットは私の現在の解決策です。もっと良い方法がありますか?私は何が必要な時はいつでもES6またはTypeScriptで複数の 'エクスポート'をインポートするより良い方法

const d3 = Object.assign(
    {}, 
    require('d3-axis'), 
    require('d3-selection'), 
    require('d3-format') 
) 

だから、私は、単一の名前空間d3にすべてをインポートするよりよい方法はあり

d3.format('.5s') 
// OR 
d3.select(something) 

以下のようなものを呼びますか?

+0

'require'はES2015ではありません。それはまったくESではありません。唯一のESインポート構文は、 'import'を経由するものです。 – zerkms

+0

@zerkmsコメントをいただきありがとうございます。私はちょうどこれを行うには良い方法があるの質問を更新しました? –

答えて

2

インポート複数ES6と「輸出」や活字体

タイプセーフな方法d3は、活字体の前に書かれた、そのAPIの決定に型の安全性をサポートしていない、と述べた

import * as d3Axis from 'd3-axis'; 
import * as d3Selection from 'd3-selection'; 

export const d3 = {...d3Axis, ...d3Selection}; 

もっと

はい、あなたは、例えば、型の安全性のために設計する必要がありますライブラリがダイレクトアレイアクセスを使用している場合、本質的に危険です。https://basarat.gitbooks.io/typescript/docs/types/index-signatures.html

+0

上記のすべてのアドバイスについては、@basaratありがとうございます。 –

+0

あなたが提供したリンクを読んだ後、私はまだあなたが話していることを理解していません**もっと**あなたは少し詳しく説明できますか? –

関連する問題