Angular2 ve Typescript'te çok yeniyim. Ben incelikle js harici kütüphanesini kullanmak için bir yol bulmak istiyorum:SystemJS Yapılandırması için Harici JavaScript Kitaplığı Dışa Aktarım Bildirimi
declare var somelibrary: any;
somelibrary.doAnithing();
Ama bazı typization sahip olmak istiyorum, bu yüzden * .d.ts kullanımı için here okuyun: Biliyorum, ben kullanabilirsiniz
export declare class Chart {
constructor (ctx: any);
Doughnut(data: any, options: any): Function;
}
(Ben de denemek :)
export declare module 'chart' {
export class Chart {
constructor (ctx: any);
Doughnut(data: any, options: any): Function;
}
}
:
Yani ben bir modül chart.d.ts
oluşturmak
ve ona başvuru, çalışırken birçok yolları:
// version 1
import chartFactory = require('../chart');
// version2
import { Chart } from '../chart';
ve kullanmak:
// version 2 usage
new Chart(ctx).Doughnut(this.chart1, {responsive : true});
derleme başarandır ama tarih:
// version 1 usage
new chartFactory.Chart(ctx).Doughnut(this.chart1, {responsive : true});
veya ikinci ithalatı
runtime SystemJS js implementati yüklemeye çalışın tanımımda'path/to/chart.js'
arandığında (herhangi bir chart.js yok, orijinal kütüphane komut dosyasıyla içe aktarılıyor). explaination ile
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
bazı öneriler:
SystemJS yapılandırma açısal öğretici aynıdır?
Hatalı kilitlenmenin nedeninin "module": "system"
olduğunu düşünüyorum, ancak soru şudur: SystemJS çözünürlüğüyle çakışmadan dahili d.ts nasıl yapılır?
Cevabınız için teşekkürler, bunu denedim, ve gönderdiğiniz link ise ben aynı gönderiyorum. Sorun şu ki, SystemJS yok bir chart.js için arama ve uygulama kırdı ... – Guaido79
Bize chart.js kütüphanesine işaret edebilirdi. :) – toskv
@ Guaido79 bu mu? http://www.chartjs.org/ – toskv