繁体   English   中英

将npm软件包与本地打字稿定义文件相关联

[英]Associating npm package with local typescript definitions file

我正在使用npm包(例如foo),在开发过程中,我想将此包与本地(与项目文件一起提交)打字稿定义文件相关联。 我明确不打算将定义文件发布为npm软件包,因为到目前为止它还不完整,仅涵盖了我实际使用的库的各个部分。

到目前为止,我已经尝试了以下方法:

将以下内容添加到tsconfig.json

"typeRoots": [
  "./node_modules/@types",
  "./src/types"
],

并在./src/types/foo/index.d.ts添加了定义文件。 但是,VSCode和typescript webpack-loader都无法将'foo'的导入与定义文件中的导出相关联。

处理此问题的正确方法是什么?

那几乎就是我在这里所做的

按照@types的说明为现有lib创建“ my Type”
并将其发布给“我的” Github。 而不是发布到@types

最后

npm i git+https://github.com/my/repo.git

它最终将在node_modules / @ types / chosen-name中
正是tsc期望它在哪里

我没有尝试过,但是我看不出它为什么不能从其他来源使用的原因

npm i ../myrepo

在tsconfig.json的“文件”部分中添加对类型定义的引用可解决此问题:

{
    "compilerOptions": { ... },
    "files" : ["./src/types/foo.d.ts"]
}

Dan提出的这种解决方案也可行,但是需要更多工作-如果最终打算发布定义,那是理想的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM