PhpStorm的TypeScript项目中非TS npm包无自动补全如何解决
PhpStorm下非TS编写npm包无自动补全的解决方案
你之前修改node_modules下js后缀为ts后补全生效,本质是强制IDE将该文件识别为TS文件执行全量类型推导,但修改node_modules文件会在依赖重装后失效,不推荐使用。
方案1:安装官方社区维护的类型声明包(最推荐)
执行以下命令安装对应类型包即可,安装完成后IDE会自动识别类型生成自动补全提示,无需额外修改配置:npm install -D @types/steamcommunity方案2:自定义类型声明文件(无对应@types包时使用)
- 在项目根目录新建
@types/steamcommunity/index.d.ts文件 - 在文件中编写对应包的类型声明,示例如下:
declare module 'steamcommunity' { export default class SteamCommunity { // 按需补充你用到的方法、属性类型即可 login: (options: { accountName: string; password: string }, callback: (err: Error, sessionID: string, cookies: string[]) => void) => void // 其他用到的方法、属性同理补充类型 } }- 在你的
tsconfig.json的compilerOptions中新增类型根路径配置:
"typeRoots": ["./node_modules/@types", "./@types"]保存后等待IDE重新索引即可生效。
- 在项目根目录新建
方案3:优化PhpStorm索引配置
你已经开启了allowJs和checkJs配置,若以上方案都未生效,可尝试清除IDE缓存强制重新索引:
打开PhpStorm左上角菜单File -> Invalidate Caches...,勾选清除文件系统缓存选项后重启IDE即可。
同时确认IDE的TypeScript配置使用项目本地安装的TypeScript版本,而非IDE自带版本,避免版本差异导致的识别问题。
内容的提问来源于stack exchange,提问作者SenTisso
相关产品推荐
相关产品推荐

