D3 4.0 および Ionic2/Angular2 プロジェクトの import ステートメントに問題があります。
私は正しい import ステートメントを使用していると信じており、すべてがコンパイルされます。
import * as d3Request from 'd3-request';
export class HomePage {
constructor() {
d3Request.xml('assets/mysvg.svg')
.mimeType("image/svg+xml")
.get(function(error, xml) {
if (error) throw error;
document.body.appendChild(xml.documentElement);
});
}
}
次のようにコンパイルされます。
var d3Request$1 = unwrapExports(d3Request);
var d3Request$2 = Object.freeze({
default: d3Request$1,
__moduleExports: d3Request
});
...
d3Request$2.xml('assets/mysvg.svg')
.mimeType("image/svg+xml")
.get(function (error, xml) {
if (error) throw error;
document.body.appendChild(xml.documentElement);
});
ただし、実行時にはxml
関数は に存在しませんd3Request$2.xml
。のみに存在しd3Request$2.__moduleExports.xml
ますが、コードはそれにコンパイルされません。何を与える?
私もimport d3Request from 'd3-request'
コンパイルしてみましたが、まだ動作しません。結果:
var d3Request$1 = unwrapExports(d3Request);
...
d3Request$1.xml('assets/emojis/laughing.svg')
.mimeType("image/svg+xml")...
d3Request$1
ただし、未定義になるため、これはまだ機能しません。d3Request.xml
存在しますが、コードはそれにコンパイルされません。コンパイルするとd3Request$1.xml
!