Ich versuche, eine JavaScript-Bibliothek (bricks.js) zu integrieren, die keine öffentlich verfügbare Typdefinition hat.TypeScript-Typdefinition; Export-Standard für die Verwendung externer JavaScript-Bibliothek in Angular2
Im Grunde, was die Bibliothek exportiert ist so etwas wie folgt aus:
export default (config) => {
const instance = SomeConstructorFunction(config);
return instance;
}
ich kann nicht herausfinden, wie man richtig eine Typdefinition (.d.ts
) für diese Funktion erstellen; entweder TSC kompiliert, wenn ich importiere, ich werde nicht definiert oder TSC wird nicht kompilieren.
für diese Instanz .d.ts
kompiliert:
declare module 'bricks.js' {
export class Bricks {
constructor(config: any);
pack(); // some function available on the instance
}
}
Aber wenn ich so zu importieren, in meinem AngularJS 2 Komponente:
import { Bricks } from 'bricks.js';
this.bricks = new Bricks({//some config here});
Dann Bricks ist undefined
, daher wird ein Fehler :-) geworfen .
Ich bekomme nicht genau, wie man ein .d.ts
für diese Bibliothek baut; Weiterhin wird die Bibliothek mit Babel
zusammengestellt, und ich vermute, Babel macht etwas mit Pfeil Funktion Standard Exporten ...
wie verwenden Sie diese lib in Ihrem Code ohne angular2? dh in jquery du nur '$()' .. – echonax
da der Export Standard ist brauchen Sie nicht die {} beim Importieren, versuchen Sie Import Bricks von 'bricks.js'/ – toskv
@echonax wie diese neue Bricks ({. ..}) –