如何在已安装的npm包中查找函数定义?以useForm为例
如何找到react-hook-form中useForm的函数实现而非类型定义
为什么默认跳转到类型文件?
react-hook-form发布的npm包默认只包含编译后的生产代码和类型定义文件(.d.ts),VSCode的TypeScript解析逻辑会优先识别这些类型文件,所以点击「Go To Definition」只会跳转到useForm.d.ts。
两种解决办法:
- 手动直接查找:打开项目的
node_modules/react-hook-form/src目录,找到useForm.ts文件,里面就是useForm的完整函数签名和实现代码。这是最直接的方式,大部分情况下都能用。 - 配置VSCode让它优先解析源码:在项目根目录的
.vscode/settings.json中添加以下配置,让TypeScript优先尝试解析包内的源码文件:
{ "typescript.resolvePackageJsonExports": true, "typescript.preferences.resolvePackageJsonExports": true, "typescript.preferences.preferTypeOnlyAutoImports": false }
配置后重启VSCode,再尝试「Go To Definition」,如果react-hook-form的package.json里的exports字段包含了源码路径,就能直接跳转到useForm.ts;如果没配置exports,还是得用手动查找的方式。
内容的提问来源于stack exchange,提问作者vietan
相关产品推荐
相关产品推荐

