问题标签 [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.
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 模板文件。
typescript - 打字稿对象转换
如何键入函数,使输入对象与输出对象相同,但具有不同的值?
generics - Typescript中可区分联合类型的通用匹配函数
是否可以在可区分的联合类型上定义诸如通用匹配函数之类的东西?假设我们有以下类型定义:
使用 switch 语句可以定义匹配函数,如:
它可以完成这项工作,但是定义这样的功能非常繁琐,尤其是当一个有许多工会成员时。
是否有可能以某种方式简化此定义,可能使用映射类型或最新 2.1 分支中的其他现有方法。
我在玩“映射类型”,但我不确定即使我知道Kind是否真的有可能获得具体的Value,例如:
但是实际上可以将P转换为相应的Value类型。
typescript - 是否可以从部分类型生成严格类型?
我们可以从下面的严格类型生成部分类型(来自 TypeScript 2.1):
相反,是否可以从部分类型生成严格类型?
我真正想要的
我需要以下两种类型,但不想写两次。
我找到了一个像下面这样的详细解决方案,但我想知道是否有更好的方法。
typescript - TypeScript 2.1 自定义元素
TypeScript 2.1 显然现在支持编写自定义 html 元素(“TypeScript 中的新功能 - 2.1”)
但是,我一直找不到任何有关这应该如何工作的文档。
任何人都可以解释这应该如何工作,最好是举例说明?
谢谢你
typescript - 将打字稿从 2.0.3 更新到 2.1.4 后出现类型保护错误
当派生类没有任何独特的属性时会出现错误。这发生在我将 TS 更新到 2.1.4 之后。我的问题是:
为什么这里有错误?我的猜测是 TS 绕过了自定义类型检查和处理
A
,并且C
由于它们具有相同的类型,因此将无法到达下一个语句,a
将具有 typenever
。有没有比向派生类添加虚拟属性更好的解决方案?
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:
那么,为什么你有时只需要导入扩展方法呢?我该怎么做才能使我的扩展方法“模块化”?
typescript - 使用 Typescript 展开运算符会导致编译错误
将 VS17RC 与 TS 2.1 一起使用
给出编译时错误“提供的参数与调用目标的任何签名都不匹配。”
这是编译好的js:
这确实有效。
我在这里做错了什么吗?
示例来自这里: Typescript Deep Dive
javascript - 打字稿项目设置(第一次)
首先,经过数小时的谷歌搜索,我没有看到明确的答案,如果我忽略了某些内容,我很抱歉。
使用 Typescript 的快速版本
,我该如何移动node_modules
,outDir
或者我会以错误的方式处理事情?
长版本
我正在尝试开始使用打字稿,配置项目似乎是最难的部分。我的目标是让我的源代码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_modules
到bin/server
?这似乎不对。
typescript 的超级新手(从今天开始)感谢您花时间阅读我的长篇文章。
PS:假设一切都是最新版本。
typescript - Typescript继承接口和文字字符串类型键错误
我有 3 个接口(A
、B
和C
下面),它们都从一个通用接口(Common
下面)扩展而来。我还有一个容器类型,其中包含这 3 个接口的数组(Container
如下)。
我想抓取其中一个数组并从对象中提取一个公共属性,如 getCommon()` 所示:
但是,Typescript 2.1 给了我一个编译错误:
这是打字稿中的错误/限制,还是我做错了什么?