我想在Nodejs项目中使用Thrift和Typescript,这是我遇到的错误
src/gen-js/myService.d.ts:9:12 - error TS2503: Cannot find namespace 'Thrift'.
10 input: Thrift.TJSONProtocol;
~~~~~~
src/gen-js/myService.d.ts:10:1 - error TS2503: Cannot find namespace 'Thrift'.
11 output: Thrift.TJSONProtocol;
~~~~~~
error TS2304: Cannot find name 'Thrift'.
...(more of the same)
src/gen-js/myService_types.d.ts:198:32 - error TS2304: Cannot find name 'Thrift'.
198 class StoreException extends Thrift.TException {
~~~~~~
...(more of the same)我已经安装了@types/thrift并设置了我的tsconfig.json,如下所示
{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es2017",
"noImplicitAny": true,
"moduleResolution": "node",
"inlineSourceMap": true,
"outDir": "dist",
"alwaysStrict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"baseUrl": ".",
"paths": {
"*": ["node_modules/*", "src/types/*"]
},
"lib": [
"dom",
"esnext"
]
},
"include": ["src/**/*"]
}看起来很好,对吧?仍然会遇到错误。你知道如何成功构建它吗?
附注:我使用的是Typescript 3.2、Thrift v0.11和@types/thrift 0.10.7
发布于 2018-12-13 14:31:01
安装这些类型后,您仍然需要在引用它们之前导入它们。
编辑:
在查看了类型定义之后,它不是..理想的打字方式。如果使用通配符导入类型(第二个示例),则还有一个嵌套的Thrift命名空间
import { Thrift, TJSONProtocol } from 'thrift';
const protocol: TJSONProtocol = // instance;
class StoreException extends Thrift.TException {}或
import * as Thrift from 'thrift';
const protocol: Thrift.TJSONProtocol = // instance;
class StoreException extends Thrift.Thrift.TException {}https://stackoverflow.com/questions/53755917
复制相似问题