问题标签 [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.
node.js - 使用 tsd 列出所有已安装的类型
有没有办法在命令行中打印出所有已安装的 tsd 类型?
就像是:
$ tsd list
typescript - 如何在打字稿中的接口属性上定义一个类?
我正在尝试为第三方 (Skuid) 提供的 API 创建定义文件,但遇到了表示skuid.ui.Editor的问题,其中 Editor 是 Skuid 在其他地方定义的类。我将如何告知new skuid.ui.Editor()
确实有效的打字稿编译器?
javascript - angular.route.IRouteParamsService 的定义在哪里?
我在控制器中为 routeParams 服务定义了一个本地引用。routeParams:IRouteParamsService
Webstorm 甚至代码为我完成了这个,并在我的控制器顶部生成了一个导入语句:
但是,这会产生打字稿错误,
模块 'Angular' 没有导出的属性 'route'
我尝试删除它,尝试添加angular-ui-router.d.ts
到我的 TSD 类型集合中。也许我错过了一个不同的 TSD 定义文件?
这是我的注入器/构造器的其余有用部分。
reactjs - 如何在用 TypeScript (TSX) 编写的 React 应用程序中使用 Facebook Relay?
我想在React中编写一个新的 Web 应用程序,它使用Relay与GraphQL服务器进行通信。最近为TypeScript引入了JSX 支持。但是没有为 Relay指定类型声明文件 (.d.ts) 。如何在 TypeScript 中编写我的应用程序,而无需先为 Relay 编写类型文件?
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
)
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。
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 应用程序中的每个引用现在都是用angular
and not进行的ng
,这并不理想,但现在可以了。我很确定这不是“最佳实践”修复。
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/7284
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 配合得很好的标准方法是什么?
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 的情况下获得相同的结果。我已经尝试了很多东西,但无法使其工作,并且似乎在所有文档中都迷失了。非常感谢您的帮助。
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