nvim-typescript 错误地抱怨不存在的类型
nvim-typescript wrongly complains about non-existent type
我正在尝试使用具有以下最低配置的 neovim
:
call plug#begin()
Plug 'mhartington/nvim-typescript', {'do': './install.sh'}
Plug 'leafgarland/typescript-vim'
Plug 'HerringtonDarkholme/yats.vim'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'Shougo/denite.nvim'
call plug#end()
在一个 nodejs
项目中,我安装了 pg
和 @types/pg
:
npm i pg; npm i -D @types/pg;
然后在 .ts
文件中,我从 pg
:
导入
import * as pg from 'pg';
但是我从这一行得到以下错误:
const queryLogger = (queryRes: QueryResult<object>): string => ...
> 2304: Cannot find name 'QueryResult'.
但是如果我强制这样的错误,该类型很清楚,因为它引用了 QueryResult<T>
:
const { Pool } = pg;
const pool = new Pool();
pool.query(sql, params) as string;
> 2352: Conversion of type 'Promise<QueryResult<any>>' ...
更奇怪的是,构建和 运行 代码没有抛出任何错误 - 无论错误如何,一切似乎都按预期工作。
这是怎么回事?我还能做些什么来调试这个问题吗?
非常简单的答案 - 类型是 pg.QueryResult<T>
。
我正在尝试使用具有以下最低配置的 neovim
:
call plug#begin()
Plug 'mhartington/nvim-typescript', {'do': './install.sh'}
Plug 'leafgarland/typescript-vim'
Plug 'HerringtonDarkholme/yats.vim'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'Shougo/denite.nvim'
call plug#end()
在一个 nodejs
项目中,我安装了 pg
和 @types/pg
:
npm i pg; npm i -D @types/pg;
然后在 .ts
文件中,我从 pg
:
import * as pg from 'pg';
但是我从这一行得到以下错误:
const queryLogger = (queryRes: QueryResult<object>): string => ...
> 2304: Cannot find name 'QueryResult'.
但是如果我强制这样的错误,该类型很清楚,因为它引用了 QueryResult<T>
:
const { Pool } = pg;
const pool = new Pool();
pool.query(sql, params) as string;
> 2352: Conversion of type 'Promise<QueryResult<any>>' ...
更奇怪的是,构建和 运行 代码没有抛出任何错误 - 无论错误如何,一切似乎都按预期工作。
这是怎么回事?我还能做些什么来调试这个问题吗?
非常简单的答案 - 类型是 pg.QueryResult<T>
。