TypeScript 编译器在 react-redux 类型文件中报告错误,即使我已经排除了 tsconfig 中的类型目录。
打字稿版本:1.8.10
这是我遇到的错误
/home/me/dev/proj/typings/main/ambient/react-redux/index.d.ts (64,16) 中的错误:错误 TS2314:通用类型“调度”需要 1 个类型参数。
/home/me/dev/proj/typings/main/ambient/react-redux/index.d.ts (68,21) 中的错误:错误 TS2314:通用类型“ActionCreator”需要 1 个类型参数。
/home/me/dev/proj/typings/main/ambient/react-redux/index.d.ts (95,13) 中的错误:错误 TS2314:通用类型“存储”需要 1 个类型参数。
打字.json:
{
"ambientDependencies": {
"es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504",
"material-ui": "registry:dt/material-ui#0.15.0+20160602140214",
"query-string": "registry:dt/query-string#3.0.0+20160331065456",
"react": "github:DefinitelyTyped/DefinitelyTyped/react/react.d.ts#f407264835650f5f38d4bb2c515a79e7a835916b",
"react-addons-css-transition-group": "registry:dt/react-addons-css-transition-group#0.14.0+20160316155526",
"react-addons-transition-group": "registry:dt/react-addons-transition-group#0.14.0+20160417134118",
"react-dom": "github:DefinitelyTyped/DefinitelyTyped/react/react-dom.d.ts#ca5bfe76d2d9bf6852cbc712d9f3e0047c93486e",
"react-redux": "registry:dt/react-redux#4.4.0+20160501125835",
"react-tap-event-plugin": "registry:dt/react-tap-event-plugin#0.0.0+20160226083632",
"require": "registry:dt/require#2.1.20+20160316155526",
"socket.io-client": "registry:dt/socket.io-client#1.4.4+20160317120654"
},
"dependencies": {
"es6-promise": "registry:npm/es6-promise#3.0.0+20160211003958",
"radium": "registry:npm/radium#0.16.6+20160310030142",
"redux-thunk": "registry:npm/redux-thunk#2.0.0+20160525185520",
"webpack": "registry:npm/webpack#1.12.9+20160418172948"
}
}
tsconfig.json:
{
"version": "1.8.10",
"compileOnSave": false,
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"jsx": "react",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"exclude": [
"node_modules",
"typings"
]
}
为什么它报告排除目录的错误?我怎样才能消除这些错误?
更新:
正如 Mike 在他的回答中所建议的那样,问题在于 react-redux 定义使用的是 redux 的 dt 定义,而不是 redux 附带的定义。为 redux 安装 dt 定义确实可以消除这些错误,但这对我来说不是一个选择,因为我自己的代码使用 redux 附带的定义文件中定义的泛型类型。
所以我真正的问题是:如何阻止 TypeScript 报告来自类型目录的文件中的错误?我认为将“类型”设置为排除目录之一会阻止这种情况,但事实并非如此。