问题标签 [typescript2.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1598 浏览

typescript - TypeScript 2.1 async/await ES5 __awaiter 和 __generator 为每个 ts 文件生成

我正在试验新的 TypeScript rc-release 以获得对 ES5 的 asnc/await 支持。

但是我在生成的 __awaiter 和 __generator 方法中遇到了一个奇怪的行为,如果不使用 outFile 编译器选项,它们似乎是为每个单独的 ts 文件生成的。

有没有办法只生成 __awaiter 和 __generator 方法的单个实例而不使用 outFile?我不想使用 outFile 标志的原因是我目前使用 webpack 进行捆绑,因为我需要支持导入 HTML 模板文件。

0 投票
2 回答
137 浏览

typescript - 打字稿对象转换

如何键入函数,使输入对象与输出对象相同,但具有不同的值?

0 投票
1 回答
743 浏览

generics - Typescript中可区分联合类型的通用匹配函数

是否可以在可区分的联合类型上定义诸如通用匹配函数之类的东西?假设我们有以下类型定义:

使用 switch 语句可以定义匹配函数,如:

它可以完成这项工作,但是定义这样的功能非常繁琐,尤其是当一个有许多工会成员时。

是否有可能以某种方式简化此定义,可能使用映射类型或最新 2.1 分支中的其他现有方法。

我在玩“映射类型”,但我不确定即使我知道Kind是否真的有可能获得具体的Value,例如:

但是实际上可以将P转换为相应的Value类型。

0 投票
2 回答
1256 浏览

typescript - 是否可以从部分类型生成严格类型?

我们可以从下面的严格类型生成部分类型(来自 TypeScript 2.1):

相反,是否可以从部分类型生成严格类型?

我真正想要的

我需要以下两种类型,但不想写两次。

我找到了一个像下面这样的详细解决方案,但我想知道是否有更好的方法。

0 投票
2 回答
4958 浏览

typescript - TypeScript 2.1 自定义元素

TypeScript 2.1 显然现在支持编写自定义 html 元素(“TypeScript 中的新功能 - 2.1”

但是,我一直找不到任何有关这应该如何工作的文档。

任何人都可以解释这应该如何工作,最好是举例说明?

谢谢你

0 投票
1 回答
67 浏览

typescript - 将打字稿从 2.0.3 更新到 2.1.4 后出现类型保护错误

当派生类没有任何独特的属性时会出现错误。这发生在我将 TS 更新到 2.1.4 之后。我的问题是:

  • 为什么这里有错误?我的猜测是 TS 绕过了自定义类型检查和处理A,并且C由于它们具有相同的类型,因此将无法到达下一个语句,a将具有 type never

  • 有没有比向派生类添加虚拟属性更好的解决方案?

0 投票
1 回答
93 浏览

typescript - 为什么你有时只需要导入扩展方法?

虽然这个问题不是 Angular-2 特有的,但让我们从 Angular 2 中的一个例子开始:

toPromise()Observable<Response>返回的扩展方法this.http.get(url)。只有 import 才能使用rxjs/add/operator/toPromise,否则编译器会报错。该文件toPromise.d.ts具有以下内容:

但是,对于我自己的扩展方法,不需要导入:

我的班级.ts:

我的类extensions.ts:

(或者,可以删除最后一行并将文件重命名为my-class-extensions.d.ts。)

我的消费者.ts:

那么,为什么你有时只需要导入扩展方法呢?我该怎么做才能使我的扩展方法“模块化”?

0 投票
2 回答
800 浏览

typescript - 使用 Typescript 展开运算符会导致编译错误

将 VS17RC 与 TS 2.1 一起使用

给出编译时错误“提供的参数与调用目标的任何签名都不匹配。”

这是编译好的js:

这确实有效。

我在这里做错了什么吗?

示例来自这里: Typescript Deep Dive

0 投票
1 回答
289 浏览

javascript - 打字稿项目设置(第一次)

首先,经过数小时的谷歌搜索,我没有看到明确的答案,如果我忽略了某些内容,我很抱歉。

使用 Typescript 的快速版本 ,我该如何移动node_modulesoutDir或者我会以错误的方式处理事情?

长版本 我正在尝试开始使用打字稿,配置项目似乎是最难的部分。我的目标是让我的源代码src/server和我的输出bin/server

这是我的 tsconfig.json 供参考:

这是目录结构:

编译自我~/Project使用tsc -p src/server,繁荣我们有bin/server/server.js

要运行我正在使用 vs 代码,这里是launch.json

我得到的错误是Error: Cannot find module 'express',模块已安装,src/server/node_modules/express所以我猜我也必须移动node_modulesbin/server?这似乎不对。

typescript 的超级新手(从今天开始)感谢您花时间阅读我的长篇文章。

PS:假设一切都是最新版本。

0 投票
1 回答
309 浏览

typescript - Typescript继承接口和文字字符串类型键错误

我有 3 个接口(ABC下面),它们都从一个通用接口(Common下面)扩展而来。我还有一个容器类型,其中包含这 3 个接口的数组(Container如下)。

我想抓取其中一个数组并从对象中提取一个公共属性,如 getCommon()` 所示:

打字稿游乐场链接

但是,Typescript 2.1 给了我一个编译错误:

这是打字稿中的错误/限制,还是我做错了什么?