问题标签 [tsd]

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

node.js - 使用 tsd 列出所有已安装的类型

有没有办法在命令行中打印出所有已安装的 tsd 类型?

就像是: $ tsd list

0 投票
1 回答
68 浏览

typescript - 如何在打字稿中的接口属性上定义一个类?

我正在尝试为第三方 (Skuid) 提供的 API 创建定义文件,但遇到了表示skuid.ui.Editor的问题,其中 Editor 是 Skuid 在其他地方定义的类。我将如何告知new skuid.ui.Editor()确实有效的打字稿编译器?

0 投票
0 回答
282 浏览

javascript - angular.route.IRouteParamsService 的定义在哪里?

我在控制器中为 routeParams 服务定义了一个本地引用。routeParams:IRouteParamsServiceWebstorm 甚至代码为我完成了这个,并在我的控制器顶部生成了一个导入语句:

但是,这会产生打字稿错误,

模块 'Angular' 没有导出的属性 'route'

我尝试删除它,尝试添加angular-ui-router.d.ts到我的 TSD 类型集合中。也许我错过了一个不同的 TSD 定义文件?

这是我的注入器/构造器的其余有用部分。

0 投票
1 回答
2052 浏览

reactjs - 如何在用 TypeScript (TSX) 编写的 React 应用程序中使用 Facebook Relay?

我想在React中编写一个新的 Web 应用程序,它使用RelayGraphQL服务器进行通信。最近为TypeScript引入了JSX 支持但是没有为 Relay指定类型声明文件 (.d.ts) 。如何在 TypeScript 中编写我的应用程序,而无需先为 Relay 编写类型文件?

0 投票
1 回答
1181 浏览

angularjs - Angular2 和 TSD 的“重复标识符”错误

我正在尝试将项目从 Angular 1 转换为 Angular 2。

这是一个带有一些通用代码的客户端和服务器项目(所以我把它放在一起)。我想在客户端使用 Angular 2,所以我遵循了ng2 QuickStart。我目前正在尝试在我的项目中构建它。

TSD用来管理我的依赖项类型。其中一些依赖项如socket.io依赖node.d.ts。我的问题是angular2已经公开node.d.ts并创建了一个环境定义,所以当我想使用TSD时,angular2我得到两个定义之间的冲突: typings\node\node.d.ts(961,9): error TS2300: Duplicate identifier 'path'.

这是我的吞咽任务:

我还建立了一个简单的存储库来展示我的问题。如何在保持TSD打字的同时解决此错误。(最好的解决方案是防止angular2暴露其内部node.d.ts

0 投票
9 回答
32677 浏览

node.js - tsconfig.json 的“排除”属性未得到尊重

我正在使用此处找到的出色的 Express/Node/Typescript 示例代码。它使用 run.sh 中的以下命令编译 .ts 代码:

./node_modules/.bin/tsc --sourcemap --module commonjs ./bin/www.ts

这可以像宣传的那样工作,但我更喜欢使用 tsconfig.json 文件,tsc -p .但是,当我运行该命令时,我得到了大量的TS2300: Duplicate identifier 'foo' errors时间tsc(错误地?)尝试遍历./node_modules./typings目录。下面是我正在使用的 tsconfig.json:

有任何想法吗?我正在使用 tsc 1.7.3 FWIW。

0 投票
1 回答
4490 浏览

typescript - 模块“ng”在 vs 代码中没有导出成员

Module "ng" has no exported member我在 Visual Studio 代码中的所有类型中都收到错误消息

在此处输入图像描述

在此处输入图像描述

在我添加 angular-ui-router 之前,我的打字工作 100%。我不确定这是否是问题,但我只是在添加后才注意到它。

在我的.d.ts文件中,我自己得到了一个特定的错误angular

在此处输入图像描述

我的tsd.json长相是这样的

我有点迷失了我有什么或没有做过什么来搞砸这个。奇怪的是,一切仍然 100% 正常工作。所以我仍然得到智能,ng.它只是说有错误,每次我构建时,我都会在所有文件上遇到多个错误。

更新

import ng = angular;我最终在线注释掉17,然后在 angular.d.ts 中更改ng.auto.IInjectorService;angular.auto.IInjectorService;在线173

这意味着 Angular 应用程序中的每个引用现在都是用angularand not进行的ng,这并不理想,但现在可以了。我很确定这不是“最佳实践”修复。

https://github.com/DefinitelyTyped/DefinitelyTyped/issues/7284

0 投票
0 回答
348 浏览

node.js - Angular2 和 express node.d.ts 冲突

我正在尝试配置一个 angular2+express 项目。我了解问题的原因,但不是正确的解决方案。以下是我的 package.json 依赖项的相关部分:

"dependencies": { "angular2": "2.0.0-beta.0", "express": "^4.13.3", "tsd": "^0.6.5", "typescript": "^1.4.1", <...lots of peer dependencies> }

节点 5.2.0 已全局安装。当我运行时tsd install,我./typings/node.d.ts被拉进来,因为评论声称是 v0.12.0 API。但这与angular2/typings/node/node.d.ts(也声称 v0.12.0)相冲突。.d.ts 文件不同,例如:

./node_modules/angular2/typings/node/node.d.ts ---> declare var global: NodeJS.Global; ./typings/node/node.d.ts ---> declare var global: any;

结果是大量的TS2300: Duplicate identifier错误。我可以通过手动删除./typings/node和编辑./typings/express/express.d.ts来解决这个问题:

/// <reference path="../../node_modules/angular2/typings/node/node.d.ts" />

现在一切正常,但显然这只是简单的“错误”。引入 expres.d.ts 以使其与 Angular 2 配合得很好的标准方法是什么?

0 投票
1 回答
495 浏览

typescript - 如何加载定义为内部模块(tsd)的外部打字稿模块

我正在尝试在我的项目中加载nouislider模块:Angular 2 beta-0,Typescript 1.7 using SystemJs 0.19.4。

我有一个解决方法:通过更改tsd为我安装的 .d.ts 文件。我想知道在不改变原始打字稿定义文件的情况下,我可以做些什么来加载模块:nouislider.d.ts

通过我的更改,我目前可以nouislider使用 SystemJ 在我的 Typescript 项目中加载和使用它,如下所示:

我所做的就是改变顶部的这两行nouislider.d.ts

进入

我将模块的名称设置为“noUiSlider/distribute/nouislider”,否则 System.js 不会从正确的路径加载模块。我导出创建函数,否则我无法加载它

如何防止进行这两项更改?我会很满足于自己创建一个引用内部模块定义的外部模块定义,或者以其他方式在不更改 nouislider.d.ts 的情况下获得相同的结果。我已经尝试了很多东西,但无法使其工作,并且似乎在所有文档中都迷失了。非常感谢您的帮助。

0 投票
1 回答
1422 浏览

angular - 将 Parse 与 Angular2 一起使用(TypeScript)

(是的,我知道 angular2 是测试版,但我只是在尝试)

我在这里遵循了 angular2 快速入门:https ://angular.io/docs/js/latest/quickstart.html

这很好用。现在我想尝试将它与 Parse 一起使用,所以我发现 tsd 可能是从 TypeScript 访问 Parse 的方法。

我继续做了:

它添加了 Parse (parse.d.ts) + 其依赖项(node.d.ts、jquery.d.ts 和 underscore.d.ts。

现在,node.d.ts 部分有点问题,因为 angular2 已经添加了这个,所以每个定义都是重复的,我试图通过以下方式解决这个问题:

我想,这会起作用,因为 node.d.ts 已经可用了,对吧?

好吧,它不起作用,我不知道为什么。我收到一个错误node_modules/angular2/typings/angular-protractor/angular-protractor.d.ts(1679,13): error TS2403: Subsequent variable declarations must have the same type. Variable '$' must be of type 'JQueryStatic', but here has type 'cssSelectorHelper'.但这不是主要问题,因为它看起来像是在那之后继续进行的。

这就是npm start“崩溃”的原因:

完整的输出可以在这里找到:http: //pastebin.com/xE3u3qUh

更新

我认为上面的错误出现在 angular2 示例中,因此我删除了示例并消除了错误。但是当我执行“npm install parse”时,错误又回来了,但在另一个地方.. 这次:Error: watch node_modules/opt-merger/node_modules/lodash/lang/isFunction.js ENOSPC