是否有办法将打字稿定义(.d.ts
文件)直接添加到纯JavaScript项目中(例如在package.json
中)。我找不到任何文件。如何将打字稿定义文件添加到npm包中?
回答
TypeScript Handbook中有一个页面为NPM包添加类型。我会复制和粘贴在这里:
分型为NPM套餐
打字稿编译器通过以下Node.js的模块解析算法解析节点模块名称。 TypeScript还可以加载与npm包捆绑在一起的类型。编译器将尝试使用以下规则集来发现模块“foo”的类型:
尝试加载位于相应的包文件夹(node_modules/foo /)中的package.json文件。如果存在,请阅读“类型”字段中描述的类型文件的路径。例如,在下面的package.json,编译器将解决在node_modules /富/ lib中/ foo.d.ts的分型
{
"name": "foo",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/foo.js",
"typings": "./lib/foo.d.ts"
}
尝试加载一个index.d.ts文件命名位于包文件夹(node_modules/foo /)中 - 此文件应包含包的类型。
模块分辨率的精确算法可以在这里找到。
你的定义文件应该
- be.d.ts文件
- 写成外部模块
- 不包含三斜杠引用
的理由是该类型不应将新的可编译项目带入编译文件集合;否则在编译期间可能会覆盖程序包中的实际实现文件。此外,加载类型不应该污染全球范围通过从相同的库的不同版本带来可能冲突的条目。除非你的package.json使用
types
财产
似乎它应该'类型'不''typings'。 –
当我回答这个问题时,这是'typings'。这是[档案](https://web.archive.org/web/20160412204540/https://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html)。另外,从当前的文档:'请注意,“typings”字段与“types”同义,并且可以使用.' – rgvassar
感谢您的背后故事。目前所有的例子都使用'types'。如果您还没有,请考虑更新您的答案。 –
的Visual Studio 2015年将无法识别定义文件
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
*您必须使用三个斜杠包括在TS参考路径文件。
/// <reference path="../node_modules/../lib/main.d.ts" />
从您提供的链接中获得:'请注意,“类型”字段与“类型”同义,也可以使用。 – Izhaki
- 1. 如何在fireloop中添加自定义打字稿文件
- 2. 打字稿定义文件
- 3. 将流动定义添加到打字稿库
- 4. 如何将我的自定义npm包添加到TypeScript定义管理器?
- 5. 将多个打字稿文件合并到一个打字稿定义文件中
- 6. 将打字稿文件添加到PTVS项目
- 7. 将js文件加载到打字稿文件中
- 8. 如何在打字稿中添加innerhtml?
- 9. 如何导入文件打字稿定义文件
- 10. 打字稿 - 如何添加类定义之外的方法
- 11. 如何将文件扩展名.js附加到打字稿?
- 12. 打字稿定义文件 - 的HelloWorld
- 13. VS 2015 node.js,如何在打字稿中使用/调用NPM包?
- 14. 恢复打字稿定义Nuget包
- 15. 如何将自定义字段添加到buddypress配置文件?
- 16. 如何将添加自定义资产添加到.apk文件?
- 17. 如何添加文件与打字稿延伸原型
- 18. 将npm打包的依赖关系添加到svn中
- 19. 如何删除打字稿定义?
- 20. 如何为新库编写打字稿定义文件?
- 21. 如何在打字稿定义文件“进口”命名空间
- 22. 如何为此JavaScript库编写打字稿定义文件?
- 23. 如何使用absolutelyTyped书写打字稿定义文件?
- 24. 如何设置VS代码创建打字稿定义文件
- 25. 如何用打字稿文件导入/导出类型定义
- 26. 如何在打字稿中使用添加打字
- 27. 如何在打字稿中添加外部js库的打字
- 28. 将keyspairs添加到打字稿中的一组对象中
- 29. 手动添加打字稿分型为NPM实用
- 30. 将自定义软件包添加到composer.json文件
有趣的问题:)我会跟随。 – meorfi