是否需要打字稿类型定义?

金萨格罗

我对打字稿定义文件的理解是,它们用于提供工具支持,并且不需要编译打字稿。

但是考虑到以下几点:

应用程序

import {Observable} from 'rx';

Observable
    .interval(1000)
    .subscribe(n => console.log(n));

运行:

npm install typescript rx --save
.\node_modules\.bin\tsc app.ts --module commonjs 

给出错误:

app.ts(1,26): error TS2307: Cannot find module 'rx'.

导入rx的类型定义可解决此问题

应用程序

/// <reference path="./node_modules/rx/ts/rx.all.d.ts" />

import {Observable} from 'rx';

Observable
    .interval(1000)
    .subscribe(n => console.log(n));

问题

  • 似乎定义文件是必需的,是否总是这样?
  • rx npm软件包包括定义文件。Typescript是否可以自动搜索节点模块文件夹以找到它们,而无需我显式引用它们?

更新资料

巴萨拉特(Basarat)的typings财产正确有关更多信息,请参见npm软件包的键入。

巴沙尔

似乎定义文件是必需的,是否总是这样?

否。如果模块使用typings属性正确执行此操作,它将正常工作更多:https : //basarat.gitbooks.io/typescript/content/docs/quick/nodejs.html

rx npm软件包包括定义文件。Typescript是否可以自动搜索节点模块文件夹以找到它们,而无需我显式引用它们?

仅当他们typings正确设置了……才没有。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章