Ich habe einen npm Modul RiveScript genannt, die in der Regel (in Javascript) auf diese Weise instanziiert werden:eine Deklarationsdatei schreibt für ein Standard-Exportmodul
var RiveScript = require('rivescript');
var rivescript = new RiveScript();
Ich versuche, eine Deklarationsdatei für das Modul zu schreiben, aber ich stecke beim ersten Schritt fest. Hier ist, was ich bisher geschrieben:
declare module "rivescript" {
interface RivescriptOptions {
utf8?: boolean;
}
class RiveScript {
constructor(options?: RivescriptOptions);
}
export default RiveScript;
}
Dann habe ich in Typoskript denke, ich würde das Modul diese Art und Weise werden (Standard-Import):
import RiveScript from 'rivescript';
let rivescript = new RiveScript();
erzeugt jedoch tsc
dies, die nicht gültig ist, da es eine default()
Funktion verweist:
const rivescript_1 = require('rivescript');
let rivescript = new rivescript_1.default();
Was mache ich falsch?
Es funktioniert, danke! Ich bin nur verwirrt durch die Tatsache, dass das 'RiveScript importieren = require ('rivescript');' -Syntax nicht wie eine gültige ES6-Importanweisung aussieht? –
Soweit ich verstehe, sollte 'Import Rivescript von 'rivescript' 'den Standard-Export von Rivescript importieren. Es gibt jedoch keinen Standardexport: https://github.com/aichaos/rivescript-js/blob/master/src/rivescript.coffee#L963. Für einen vollständigen Überblick: https://github.com/Microsoft/TypeScript/issues/2242 –
Ok, hab es, danke! –