导入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都加载好了。该项目已经有几个月了。
对这里发生的事情有什么看法?为什么t
是undefined
?
注意:即使我在所有地方都有TS类型,我也在使用运行时检查,因为某些服务方法在运行时仍然会收到错误的参数。作为旁注,tcomb
对我来说似乎很好,但只是为了学习,是否有比tcomb
更好的选择?
答案 0 :(得分:1)
你试过var t = require('tcomb')
吗?
也许与es6 import语句无关?