2017-03-21 8 views
0

importieren tcomb gibt undefined:Importieren tcomb lib in Angular 2/webpack App gibt undefined

import t from 'tcomb'; 
console.log(t); // undefined 

// So this won't work 
t.assert(t.Number.is(colorString), 'colorString is invalid argument'); 

aber ich habe es so arbeiten, die eigentlich Ich mag mehr:

import {assert, Number} from 'tcomb'; 
assert(Number.is(colorString), 'colorString is invalid argument'); 

alle importieren als t liefert nur die assert() Methode nicht das vollständige Objekt

Ich benutze eine hübsche Standardkonfiguration mit webpack-dev-server, angular 2, typescript und HMR. Alle libs laden bisher ok. Das Projekt ist bereits ein paar Monate alt.

Irgendeine Idee, was hier passiert? Warum t ist undefined?

Hinweis: Ich verwende Laufzeitprüfung, auch wenn ich überall TS-Typen habe, weil einige Dienstmethoden zur Laufzeit noch die falschen Argumente erhalten könnten. Als eine Nebenbemerkung, tcomb scheint mir gut, aber nur um zu lernen, gibt es eine bessere Option als tcomb?

Antwort

1

Haben Sie versucht var t = require('tcomb')? Vielleicht etwas mit der es6-Importanweisung zu tun, die nicht funktioniert?

+0

'require' funktioniert, aber ich wollte die' import' Anweisung verwenden –

Verwandte Themen