小编Xen*_*nya的帖子

推荐的节点8的typescript配置

如果我想使用节点8编译源代码,那么打印的typescript配置是什么?

大多数教程使用以下tsconig.json:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs"
  }
}
Run Code Online (Sandbox Code Playgroud)

但现在我发现,并非所有可用功能都受支持.例如,['foo'].includes('bar')抛出错误:类型'string []'上不存在属性'includes'.

我发现一个问题,解决这个问题.解决方案是使用lib es7.我可以覆盖默认的libs:"lib": ["es7"]

但是我不确定这是否是节点8的最佳配置 - 是否有更多不受该lib支持的功能?是否定义了很多功能?

所以我的问题是:什么是最好的配置target,lib并且module如果我想使用节点8?

node.js typescript

53
推荐指数
2
解决办法
1万
查看次数

联合类型的所有可能的键

我想获取一个联合类型的所有可用键。

interface Foo {
  foo: string;
}

interface Bar {
   bar: string;
}

type Batz = Foo | Bar;

type AvailableKeys = keyof Batz;
Run Code Online (Sandbox Code Playgroud)

我想得到的'foo' | 'bar'结果AvailableKeysnever(作为替代方案,我可以做的是keyof (Foo & Bar),产生确切所需类型的结果,但我想避免重复这些类型)。

我已经发现问题keyofunion类型应该在github上产生键的union。我知道答案,那keyof UnionType不应该产生所有可能的密钥。

所以我的问题是:是否有另一种方法来获取所有可能的键的列表(如果需要tsc的版本2.8是可以的)?

typescript

8
推荐指数
1
解决办法
1208
查看次数

标签 统计

typescript ×2

node.js ×1