导入tcomb给出未定义:

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,打字稿和HMR的标准设置。到目前为止,所有库都可以正常加载。该项目已经进行了几个月。

对这里发生的事情有任何想法吗?为什么tundefined

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

最佳答案

您尝试过var t = require('tcomb')吗?
也许与无法正常工作的es6 import语句有关?

09-18 10:12