小编cgm*_*123的帖子

是否可以在ES6项目中使用自定义类型定义?

我的团队在一个相对较大的NodeJS项目上工作,用ES6编写,由babel编译,然后用无服务器部署为AWS lambdas.该项目主要围绕消费,映射/转换以及输出我们定义的一种特定对象类型.

我们的问题是,ECMA/JavaScript不是强类型的,所以如果我们犯了一个错误,就像将某个字段视为某个地方的数组而将字符串视为其他地方,除了运行时错误之外没有什么可以捕获的.我们也很难记录这个对象的结构,所以有时消费者会向我们发送带有数据的对象的实例,这些数据在我们说过的有些错误名称的字段中,但实际上并没有使用.

我正在寻找一种方法来为我们项目中的特定对象创建某种模式或类型定义,因此我们可以使用它来纠正我们的代码,使我们的处理更加健壮,并为它创建更好的文档.现在,我知道VSCode 在JavaScript中提供了一些基本的类型检查,但我认为尝试将JSDoc作为一个非常大的对象然后将该文档放在使用该对象的每个文件中是不可行的.我发现VSCode也能以某种方式用.d.ts文件驱动检查,但我不明白我是否或如何利用它来为我们设计的特定自定义对象.我发现的大多数内容似乎与为外部库提取.d.ts文件特别相关.

那么,TL:DR,在NodeJS/ES6项目中,是否有可能在整个项目中广泛使用一个强类型的对象?在VSCode中检查错误是可以接受的,但是在转换之前我们可以触发的某种命令行linting也会很好.

javascript typechecking node.js ecmascript-6 visual-studio-code

9
推荐指数
1
解决办法
1925
查看次数