可以/我应该从同一代码库支持Node.js和Typescript吗?

时间:2015-10-24 12:15:11

标签: node.js typescript

我对Typescript不是很熟悉,但是我试图确定是否可以(甚至有意义)从同一个代码库中支持Typescript和Node.js。 / p>

仅为我的库提供声明文件(.d.ts)是否足够?或者,需要将Typescript支持更多地集成到我的代码中?如果有帮助,我会特别提及this项目。

非常感谢支持这两者的开源项目的任何示例。

谢谢!

2 个答案:

答案 0 :(得分:1)

为了澄清,TypeScript最终只是JavaScript。它不是像Node.js这样的运行时环境。

您的项目将按原样使用TypeScript,您不需要 为项目执行任何操作,以便与使用TypeScript编写的代码一起使用。

但是,要使TypeScript编译器(TSC)了解您的项目,您需要提供定义文件。

DefinitelyTyped是一个存储库,其中包含用JavaScript编写的许多库的TypeScript定义。以这些为例。

无需定义项目的所有内部工作方式,只需定义公共API。有关更多提示,请参阅Writing Definition Files

此外,TSC将在typings中查找名为package.json的属性,该属性指向定义文件。查看Typings for npm packages了解详情。您的定义文件应与您的npm包一起分发。

作为旁注,VS Code中可以使用定义文件在所有JavaScript项目中提供类型检查,而不仅仅是TypeScript。

答案 1 :(得分:0)

  

仅为我的库提供声明文件(.d.ts)是否足够?或者,需要将Typescript支持更多地集成到我的代码中吗?

这很好。事实上,从Facebook link查看immutablejs。它是用JavaScript编写的,只在回购中提供.d.tshttps://github.com/facebook/immutable-js/tree/master/type-definitions这是从package.json链接的

请注意,如果您的项目采用TypeScript,则可以通过更简单的方式结帐:https://basarat.gitbooks.io/typescript/content/docs/node/nodejs.html