在Angular 2 / webpack应用程序中导入tcomb lib给出了undefined

时间:2017-03-21 12:10:59

标签: javascript tcomb

导入tcomb会给出undefined:

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相当标准的设置。到目前为止所有的lib都加载好了。该项目已经有几个月了。

对这里发生的事情有什么看法?为什么tundefined

注意:即使我在所有地方都有TS类型,我也在使用运行时检查,因为某些服务方法在运行时仍然会收到错误的参数。作为旁注,tcomb对我来说似乎很好,但只是为了学习,是否有比tcomb更好的选择?

1 个答案:

答案 0 :(得分:1)

你试过var t = require('tcomb')吗? 也许与es6 import语句无关?