我的情况:
{ id: number, name: string }
)的对象。到目前为止我做了什么:
我有一个生成一些TypeScript代码的程序,基本上是从api中提取数据,然后看看TypeScript编译器是否同意它与接口匹配。
最终结果如下:
import { User } from './user';
function verify<T>(data: T) {}
verify<User>({ id: 123, name: 'Joe' });
verify<User>({ id: 123, name: 17 }); // <-- obviously, this should give an error
生成此代码已全部完成,但我现在需要让编译器键入检查它。我已经在typescript编译器API中挖掘了一段时间并且一直卡住,因为似乎做我需要的所有函数都采用文件名(即:磁盘上的路径)而不是一串代码。我理解,由于对其他文件的引用,需要有一个与代码相关的路径,但我找不到任何方法来传递它。
我想避免将这些文件写入磁盘,因为
a)看起来有点傻,因为它只是从磁盘读取然后是 b)它可能在源文件中变得非常混乱,或者我必须将它放在一个单独的文件夹中,然后重写所有的import语句。
TL;我的问题的DR是:
有没有办法对TypeScript代码进行类型检查?
答案 0 :(得分:1)
两种解决方案
我想避免将这些文件写入磁盘,因为
您可以使用ts-node
:https://github.com/TypeStrong/ts-node
JS的字符串很容易检查。只需使用编译器API中的ts.transpile
即可。那说...... 你不想只检查一串js 。您想要检查一组文件。因此建议只使用ts节点。