Wie moment-Dauer-format in TypeScript?
Ich bin mit moment.js in meinem Typoskript (Ionic2/Angular2) Projekt. Nach dieser Beitrag, will ich jetzt versuchen ein plugin moment-Dauer-format
Habe ich das npm-Paket und die Typ-definition und bin in der Lage, die Nutzung durch den import..
import moment from 'moment';
...
let duration = moment.duration(decimalHours, 'hours');
Ich jetzt verwenden möchten, moment-Dauer-format
Habe ich installiert über npm install moment-duration-format --save
und dann die Typ-definition über die npm i @types/moment-duration-format --save
.
Kann ich sehen, sowohl npm-Module.
Wie immer, es gibt immer einige Rätsel auf, wie man solche Typ-Definitionen (die Verwendung, einschließlich der import scheint nie in irgendeiner doco).
Habe ich versucht, indem import 'moment-duration-format';
, import duration from 'moment-duration-format';
(Zeitpunkt, Dauer und format/index.d....ts' ist kein Modul.)
Bekomme ich eine Fehlermeldung, wenn Sie versuchen zu verwenden, wie folgt..
let dd = moment.duration.format(400.99, 'hours').format('D:HH:mm');
//(TS error [ts] Property 'format' does not exist on type '(inp?: DurationInputArg1, unit?: DurationConstructor) => Duration'.
Hat jemand eine Idee, wie man dies in Typoskript.
Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich mit dem workaround hier, aber es sieht jetzt aus wie der YP-def hat, wurde behoben. Sie bekommen ein update der type-def, So kann ich Folgendes tun...
Sind Sie mit
duration
als Eigenschaft statt die Berufung auf Sie. Versuchen:Dies ist nicht wirklich ein Typoskript problem. Es würde nicht funktionieren mit JavaScript entweder. In JavaSctript würden Sie einen Laufzeitfehler erhalten, während Typoskript nicht lassen, Sie tun es zur compile-Zeit (bewährt sich).
import moment from 'moment'; import 'moment-duration-format';
und dann versuchen, die oben, aber ich bekomme die TS-Fehler[ts] Property 'format' does not exist on type 'Duration'
. Ich kann einfach nicht bekommen, es zu "sehen", diemoment-duration-format
plugin. Habe auch versuchtimport duration from 'moment-duration-format';
aber das funktioniert auch nicht.Ich bin mit dem gleichen problem...
Scheint es, als wenn es einen Fehler in der type-definition. Andere haben das gleiche Problem wie man hier sehen kann: https://github.com/souldreamer/noti-cli/blob/ef104c22792e0dfeb67d3372b04e231d45ffaa55/src/shared/pipes.ts#L38
Es wurde ein fix für das problem als Teil eines pull-request auf github, die leider geschlossen wurde, ohne zu verschmelzen:
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/14327
Als vorübergehende Lösung, können Sie mit der Linie der code des ersten link. Als zweiten Schritt sollten wir versuchen, erstellen Sie einen neuen pull-request auf github, um das problem behoben in zukünftigen Versionen.
Das problem ist, wie R_B_ korrekt arbeitete eine falsche definition in den Testungen Modul für moment-Dauer-format.
Werde ich einen neuen pull-request für diese, als mein letztes wurde geschlossen weil der lint Fehler.
So lange können Sie eine benutzerdefinierte Typ-definition in Ihrem Projekt, wie hier
https://github.com/TwoStone/leaderboard/blob/develop/subprojects/webapp/src/custom-typings.d.ts
Erstellen Sie einfach die Datei in dein Projekt und es sollte funktionieren für den moment.