我对Typescript不是很熟悉,但是我试图确定是否可以(甚至有意义)从同一个代码库中支持Typescript和Node.js。 / p>
仅为我的库提供声明文件(.d.ts
)是否足够?或者,需要将Typescript支持更多地集成到我的代码中?如果有帮助,我会特别提及this项目。
非常感谢支持这两者的开源项目的任何示例。
谢谢!
答案 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.ts
:https://github.com/facebook/immutable-js/tree/master/type-definitions这是从package.json
链接的
请注意,如果您的项目采用TypeScript,则可以通过更简单的方式结帐:https://basarat.gitbooks.io/typescript/content/docs/node/nodejs.html