问题标签 [typescript2.0]

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 回答
101 浏览

typescript - 声明变量类型时看似无关的错误

我正在设置一个非常基本的打字稿项目,并在声明变量的类型时出现看似无关的错误。我试图表达一个变量可以是字符串,也可以是 null,或者未定义 [编辑] 我知道这是字符串的默认值,我试图在使用 typescript 2.0 的非可空类型。这是波浪线和错误的屏幕截图:

错误

代码(违规代码用“^^^^”s表示):

错误消息:“需要类型。算术运算的左侧必须是 'any'、'number' 或枚举类型。”

对于单独的变量和类内的变量,错误是相同的,错误的唯一区别是它对未定义的条目表示“右手边”。

我正在使用 VSCode 1.4.0。我的文件夹结构是一个 'src' 和一个 'dist' 文件夹并排放置在我的 tsconfig.json 和 npm 包文件所在的封闭项目根文件夹中。我让 tsc 观看“src”文件夹并在保存时重新编译。我使用了“npm install -g typescript@next”,但“typescript@beta”和“typescript@2.0”也是如此。无论是否将我的工作区设置设置为从其全局安装目录中获取 tsdk,都会发生该错误。我的 tsconfig.json 看起来像这样:

昨天以这种方式声明变量类型在另一个项目上运行良好,但现在该项目也有这个错误。有谁知道是什么原因造成的,我该如何解决?

[编辑:我的困惑的上下文]这不会在 typescript 2.1 / typescript@next 下的另一台机器上引发错误:

0 投票
1 回答
3372 浏览

angular - 错误 TS2304:找不到名称“RTCPeerConnection”

我在 Angular 2 中使用 WebRTC。

TypeScript 1.x中,我可以成功使用它。

但是在更新到TypeScript 2.x之后,我的终端出现了这个错误:

错误 TS2304:找不到名称“RTCPeerConnection”。

我已经这样做了npm install --save-dev @types/webrtc,并且我的 IDE WebStorm 已经将它与RTCPeerConnection正确的类型相关联。

键入RTCPeerConnection在 /my-project/node_modules/@types/webrtc/RTCPeerConnection.d.ts

我的tsconfig.json文件:

我怎样才能正确地做到这一点?

0 投票
1 回答
4264 浏览

angular - 错误 TS2339:“PromiseLike”类型上不存在属性“catch”'

我在 Angular 2 中使用 WebRTC。

TypeScript 1.x中,我可以成功使用它。

但是在更新到TypeScript 2.x后,我在终端运行时遇到了这个错误npm run watch

错误 TS2339:“PromiseLike”类型上不存在属性“catch”。

我的 IDE WebStore 也显示为红色:

在此处输入图像描述

我已经做到了npm install --save-dev @types/webrtc

我的tsconfig.json文件:

我使用universal-starter作为开始,所以我的nodemon.jsonpackage.json和他们一样,只是有更多的包。

我怎样才能摆脱这个错误?

0 投票
1 回答
17807 浏览

angular - 错误 TS2348:“typeof ObjectID”类型的值不可调用。您的意思是包括“新”吗?

当我将 a 转换为stringObjectId,我使用

它在TypeScript 1.x中运行良好,更新到TypeScript 2.x后,出现错误:

错误 TS2348:“typeof ObjectID”类型的值不可调用。您的意思是包括“新”吗?

我该如何解决?谢谢

0 投票
1 回答
996 浏览

angularjs - 如何在 ionic 2 中调用 Angular 2 中内置的函数?

我正在尝试在我的 ionic 2 选项卡中调用我在 typescript/Angular 2 中编写的函数。我对打字稿很陌生,所以不完全知道它是如何工作的。

当我试图调用该函数时,控制台给出一个错误,指出我编写的 randomise() 函数不是函数......

这是我放置代码的 JSFiddle 文件。“卡片”部分完美无缺,它只涉及我的随机功能。HTML:

TS:

0 投票
1 回答
61810 浏览

typescript - 如何在 typescript 2.0 / 3.0 中添加自定义“打字”

根据这篇文章,typescript 2.0 的打字系统已经改变,所以现在还不清楚如何附加自定义打字。我应该总是为此创建 NPM 包吗?

先感谢您!

0 投票
0 回答
58 浏览

systemjs - 是否可以让 Typescript 2.0 查看 jspm_modules 的类型?

基本上就像标题一样 - 是否可以让 Typescript 2.0 查看 jspm_modules 的类型?

目前,我将我所有的 deps 复制为 node_modules ,它可以工作但似乎不正确..

我已经看到了 typeRoots 属性,但同样,我无法让它真正起作用。

有任何想法吗?

0 投票
0 回答
131 浏览

typescript2.0 - Typescript 2.0 路径映射不起作用

我正在尝试使用 typescript 2.0 中的新路径映射功能: https ://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript

但无论我做了多少操作,我都无法让它工作。我已经在整个互联网上搜索(也在 stackoverflow 中),但没有一个答案解决了我的问题。

这是我的 tsconfig.json:

我有一个文件位于:

  • /client/components/bars/topBar.component.ts

我尝试像这样导入它:

  • 从 'components/topBar.component' 导入 { TopBarComponent }

我收到了这个错误:

  • “找不到模块 'components/topBar.component'”
0 投票
1 回答
105 浏览

typescript - 确定类型的更改需要多长时间才能出现在 npm @types 中?

假设我更改了确定类型的类型,foo并将 PR 合并到 master 中。

这些更改需要多长时间才能出现@types/foo

0 投票
1 回答
3357 浏览

angular - 错误 TS2300:重复标识符“导出 =”

我使用angular/universal-starter作为启动器,它使用 TypeScript 2 和 Webpack 2。

我添加了包bluebirdnodemailer. 添加这些包和相关类型后:

它在终端中给了我这个错误:

/project/node_modules/@types/nodemailer/node_modules/@types/bluebird/index.d.ts (772,5) 中的错误:错误 TS2300:重复标识符“export=”。

/project/node_modules/@types/bluebird/index.d.ts (772,1) 中的错误:错误 TS2300:重复标识符“export=”。

[不确定是否有帮助]注意安装@types/nodemailer后,@type/nodemailer 有自己的 node_modules 文件夹,包括 @type/bluebird(这是一个旧的 bluebird typings 版本 2.0.0):

在此处输入图像描述

我的tsconfig.json文件:

我该如何解决这个错误?谢谢