问题标签 [typescript1.8]

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 投票
1 回答
1287 浏览

typescript - 如果 TypeScript 包含 require 则找不到模块

我正在尝试了解如何正确使用 TypeScript 和经典 JS 节点模块。

我建立了一个非常基本的项目,具有以下文件架构:

lodash已安装npm. 由于它似乎没有提供任何类型信息,我写了一个d.ts只描述一个功能的基本文件,只是为了取悦tsc和避免关于不知道的错误lodash

lodash.d.ts

在我的module.ts文件中,我导入了 lodashrequire并在模块上公开了一个函数,我在index.ts文件中使用了该函数。

模块.ts

索引.ts

问题是tsc(所以 VS Code)告诉我它找不到 name FooModule

但是,如果我删除import _ = require('lodash');from ,它可以正常工作(除了变量现在未定义module.ts的明显事实)。_

我做错了什么require吗?

0 投票
1 回答
22 浏览

typescript1.8 - 联合类型推断在 v1.7 和 v1.8 之间的变化

在下面的代码片段中,TypeScript 编译器 v1.7 在第三个 typeguard 子句下将 x 标识为 C1

V1.8 将 x 视为第三类型保护下的 C2,因此编译失败。是有意的还是错误的?

0 投票
1 回答
267 浏览

javascript - 将所有打字稿文件输出生成到单个js文件时,AngularJs 2无法启动

我在我的项目中使用 angular 2 和 typescript (V-1.8)。我已将 tsconfig 配置为将输出生成到单个 .js 文件中。该文件还包含引导应用程序的代码,因为 boot.ts 文件也被转译为 .js 文件。我的应用程序结构如下。

在 index.html 我添加了

在 single.js 中生成的代码看起来不错。在节点命令提示符中,我看到了如下图所示的错误。

TS 错误 2661

因此应用程序无法加载。我不知道这是 angular 2 错误、语法错误还是其他任何错误。如果我为每个 .ts 文件生成单独的 .js 文件并将 index.html 修改为

应用程序工作正常。请帮助我了解 single.js 案例中出了什么问题。

提前致谢。

0 投票
3 回答
42753 浏览

javascript - TypeScript hasOwnProperty 等效项

在 JavaScript 中,如果我想遍历一个字典并设置另一个字典的属性,我会使用这样的东西:

如果obj是 TypeScript 对象(类的实例),有没有办法执行相同的操作?

0 投票
1 回答
1191 浏览

typescript - Angular2 beta 和 gulp-tsc - 找不到模块 'angular2/core'

我正在尝试使用新的 angular 2.0 beta 自动化打字稿编译。

项目结构为:

app.component.ts摘录:

当我直接从 shell 运行 typescript 命令 (tsc) 时,一切顺利并生成了 javascript 文件。但是,当我运行我的 gulp 编译任务时,会出现一些错误,因为它没有找到 angular2/core 和 angular2/platform/browser 模块。为什么?

gulpfile打字稿编译任务

0 投票
1 回答
2389 浏览

events - TypeScript:EventEmitter 子类事件的专用签名

我有一个基类EventEmitter,它具有on在特定事件上绑定处理程序的方法:

现在我有各种子类,它们可以用不同的参数发出不同的事件。我想“声明”该特定类可以发出哪些事件:

所以我的子类可能会发出事件event1and event2,但这似乎不是正确的指定方式。TypeScript (tsc 1.8) 正在解决:

那么,指定我的类可以发出的事件的预期方法是什么?

编辑:我找到了我正在寻找的名称:Specialized Signatures。但是,它似乎仅适用于接口,而不适用于新的 TypeScript 代码。

现在我发现了另一个关于 2015 年相同问题的问题,但是那里的解决方案看起来不太正确。那么,今天在 TypeScript 中还有其他方法可以做到吗?

0 投票
0 回答
525 浏览

typescript - 在子目录中测试失败

我在尝试使用 Karma 运行 Angular2 + TypeScript 测试时遇到了一些问题。

这是我的场景:

假设我有一个简单的管道:

和以下规格:

这是我的目录结构:

使用 Karma 编译和运行测试时,使用此目录结构一切正常。但是,当我将 ucfirst*.ts 移动到管道下的子目录时,例如:

我收到以下错误:

这些是我的配置文件:

tsconfig.json

业力.conf.js:

业力测试垫片:

0 投票
2 回答
2806 浏览

typescript - Visual Studio 2015 项目中的多个 tsconfig [typescript 1.8]

我有一个使用打字稿的 MVC 5 项目。现在我必须实现新功能,我打开其他打字稿实现方式。我正在尝试使用tsconfig.jsontypescript 1.8 的多文件新功能,我有两个文件夹:typescriptE21typescripttsconfig.json每个文件夹上都有一个文件。

首先:

第二个:

当我在 Typescript 部分打开项目属性时,显示“检测到一个或多个 tsconfig.json 文件。项目属性已禁用。” 这是正确的,但是当我运行应用程序时,我收到了这个错误:

Build: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning

在这个文件上:

在这两个tsconfig.json文件中,我都激活了装饰器,但似乎打字稿没有从那里获得编译器选项......

另外,当我不使用装饰器时,它可以编译,但我可以看到结果文件,并且当我将“系统”放入第二个配置文件时,它们是使用 AMD 模块系统发出的......

有什么问题?

0 投票
0 回答
1346 浏览

angularjs - 如何在 TypeScript 1.8 的超类构造函数中调用抽象方法

我需要从抽象类构造函数中调用一个抽象方法。这在 TypeScript 1.8.x 之前工作得很好。

如何使这样的事情起作用?这些是 Angular 控制器。所以基本上我正在做的是初始化派生控制器中的一些字段。

TS Playground 示例: TSPlayground 示例

0 投票
1 回答
1742 浏览

dynamic - 类上的 TypeScript 动态属性类型

如果动态类属性由运算符访问,则有一种方法可以声明其类型,[]如下例所示:

但是有没有办法在没有[]运算符的情况下声明相同的东西?一种写法:

并让 TypeScript 知道它someProperty的类型number,因为我们对它说:所有未知属性Foo都是类型 number