0

导入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、typescript 和 HMR 的非常标准的设置。到目前为止,所有库都可以正常加载。该项目已经有几个月的历史了。

知道这里发生了什么吗?为什么tundefined

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

4

1 回答 1

1

你试过var t = require('tcomb')吗?也许与不起作用的 es6 import 语句有关?

于 2017-03-31T04:57:04.750 回答