2016-07-12 18 views
11

Angular 2.0.0-rc.4 uygulamasında D3'ü içe aktarma ve kullanmanın doğru yolu üzerinde birçok tutarsızlık vardır. Gördüğüm: SonraD3.js'yi Açısal 2 Uygulamasına İçe Aktarmanın Doğru Yolu

<script src="https://d3js.org/d3.v4.min.js"></script> 

kullanarak:

Import * as d3 from 'd3'; 

herhangi bileşen dosyasında bir D3 görsel uygulamak istediğiniz

1) kök index.html dosyasına eklenecek .

npm install d3 --save 
typings install d3 --save 
: içinde

2) UÖM'yi kullanılarak Sonra yine kullanılarak

:

Import * as d3 from 'd3'; 

typescript 2.0.0 Beta ile olsa (Ben belgelerine okuyorum eğer sağ) Yapabileceğim:

npm install --save @types/d3 

Sonra gerçekten kullanın:

Import * as d3 from 'd3'; 

- Her iki yolla da var map = { }'a aşağıdakileri eklemek systemjs.config.js

'd3':'node_modules/d3/d3.min.js' 

ve herkes D3 uygulamak için doğru şekilde teyit edebilir var packages = { }

'd3':{main:'build/d3.js',defaultExtension:'js'} 

ekleyerek? Teşekkür ederim. Bunu yapmanın doğru yolu ise

+0

sever misiniz:

Ayrıca sizin için tüm bu yok ve sınıflarında enjektabl bu kütüphaneyi kullanabilirsiniz ". Npm kurulumunu yaptım d3 – nCore

+1

Yukarıdaki 2 seçeneğinin ufak bir varyasyonu benim için işe yaradı, bakın: https://gist.github.com/satyagraha/5544424965c41f261ac245a92673aa71 – satyagraha

cevap

4

benim için çalışıyor tek yolu ben (örneğin) ne gerek ihracat içindeki bir dosya "özel d3.ts" oluşturmaktır: benim diğer ts dosyaları

export * from 'd3-axis'; 
export * from 'd3-format'; 
export * from 'd3-interpolate'; 
export * from 'd3-scale'; 
export * from 'd3-selection'; 
export * from 'd3-shape'; 

Sonra d3'ü şu şekilde içe aktarabilirsiniz: import * as d3 from '.../../custom-d3.ts'.

Yazım hataları @types/d3 yüklenerek otomatik tamamlanır ve yazı tipiyle bir hata yok. Benim ithalat d3 bana kırmızı bir çizgi veriyor gibi "modülü bulamıyorum bilmek https://github.com/tomwanzek/d3-ng2-service

+2

Kaç d3 modülünden endişe duymuyorsanız (ör.dev) tüm d3 modüllerini "d3" den d3 olarak "import *" ile içe aktarabilirsiniz; Üretime giderken, Angular2 ekibinin rxjs'yi nasıl kullanacağına çok benzeyen Oliver örneğini kullanmak isteyeceksiniz. . – Ben

1

emin değilim ama systemjs.config etrafında karışıklık yoktu senin typings içinde/index.d.ts sadece /// <reference path="modules/d3/d3.d.ts" />.

gibi bir şey eklemek dosyası .js ve bileşenleri içinde başka bir ithalat ifadesine ihtiyaç duymadık ama hile yapmak gibi görünüyordu, hiçbir kırmızı hata göremiyorum.

İlgili konular