2017-03-21 6 views
0

tcombが未定義与えインポートできます:インポートtcomb 11bが未定義

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

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

私はそれは実際に私が好きそれはこの、のように働いてしまったしかしより:

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

として、すべてのインポートtは完全オブジェクトではなくassert()メソッドを返します。

import * as t from 'tcomb'; 

私はwebpack-dev-server、angular 2、typescript、HMRでかなり標準的な設定を使用しています。すべてのlibsはこれまでokをロードします。プロジェクトはすでに数ヶ月前です。

ここで何が起こっているか、お考えですか?なぜtundefinedなのですか?

注:いくつかのサービスメソッドが実行時に間違った引数を受け取る可能性があるため、私はTSタイプを全部持っていても実行時チェックを使用しています。 sidenoteとして、tcombは私にはうまく見えますが、ただ学ぶために、tcombよりも良い選択肢がありますか?

答えて

1

var t = require('tcomb')を試しましたか? おそらく、動作していないes6 importステートメントと何か関係がありますか?

+0

'require'は動作しますが、私は' import'ステートメントを使用しようとしていました –