将 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' 的导入与定义文件中的导出相关联。
处理这个问题的正确方法是什么?
我就是这么做的here
为现有库创建"my Type"
按照 @types
的说明进行操作
并将其发布到 "my" Github。
而不是发布到@types
终于
npm i git+https://github.com/my/repo.git
它将在 node_modules/@types/chosen-name
结束
tsc 期望它的确切位置
我没有尝试过,但我看不出为什么它不能从其他来源工作
npm i ../myrepo
在 tsconfig.json 的 "files" 部分添加对类型定义的引用修复了问题:
{
"compilerOptions": { ... },
"files" : ["./src/types/foo.d.ts"]
}
Dan 提出的这个 也可行,但需要更多的工作 - 如果有人打算最终发布定义,那是理想的方法。
我正在使用一个 npm 包(比如 foo),在开发过程中我想将这个包与一个本地(与项目文件一起提交)打字稿定义文件相关联。我明确地不打算将定义文件发布为 npm 包,因为到目前为止它还不完整并且只涵盖了我实际使用的库的部分。
到目前为止,我已经尝试了以下方法:
将以下内容添加到 tsconfig.json
"typeRoots": [
"./node_modules/@types",
"./src/types"
],
并在./src/types/foo/index.d.ts
中添加了定义文件。然而,VSCode 和 typescript webpack-loader 都无法将来自 'foo' 的导入与定义文件中的导出相关联。
处理这个问题的正确方法是什么?
我就是这么做的here
为现有库创建"my Type"
按照 @types
的说明进行操作
并将其发布到 "my" Github。
而不是发布到@types
终于
npm i git+https://github.com/my/repo.git
它将在 node_modules/@types/chosen-name
结束
tsc 期望它的确切位置
我没有尝试过,但我看不出为什么它不能从其他来源工作
npm i ../myrepo
在 tsconfig.json 的 "files" 部分添加对类型定义的引用修复了问题:
{
"compilerOptions": { ... },
"files" : ["./src/types/foo.d.ts"]
}
Dan 提出的这个