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



我使用的是NPM软件包(例如FOO),在开发过程中,我想将此软件包与本地(与项目文件一起使用)Typescript定义文件文件相关联。我明确地不打算将定义文件作为NPM软件包发布,因为到目前为止,它不完整,仅涵盖我实际使用的库中的部分。

到目前为止,我已经尝试了以下内容:

将以下内容添加到tsconfig.json

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

./src/types/foo/index.d.ts中添加的定义文件。但是,VSCODE和Typescript WebPack-Loader都无法将" FOO"导入与定义文件中的导出相关联。

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

这几乎是我在这里所做的

为现有LIB创建了"我的类型"按照@Types的说明
并将其发布到"我的" github。而不是发布到@Types

最后

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

它将最终以node_modules/@types/chose-name
TSC期望它在哪里

我没有尝试过,但我不明白为什么它不应该从其他来源起作用

npm i ../myrepo

在tsconfig.json的"文件"部分中添加引用一个问题:

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

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

最新更新