我学习打字稿。
interface FooOptions {
x: string;
y: string;
}
function getFoo(opt: FooOptions) {
return opt.x + opt.y;
}
export {getFoo, FooOptions};
运行node_modules/.bin/tsc
会出现以下错误:
$ node_modules/.bin/tsc
t.ts(6,22): error TS4078: Parameter 'opt' of exported function has or is using private name 'FooOptions'.
但是node_modules/.bin/tsc t.ts
成功运行。
根据the document:
通过调用没有输入文件的tsc,在这种情况下编译器 从当前目录开始搜索tsconfig.json文件 并继续保持父目录链。
我的tsconfig.json中的哪个选项导致错误?这个错误意味着什么?
{
"compilerOptions": {
"target": "es5",
"outDir": "dist",
"module": "commonjs",
"declaration": true,
"noImplicitAny": true,
"removeComments": true,
"moduleResolution": "node",
"sourceMap": true,
"inlineSources": true
},
"exclude": [
"node_modules",
"dist"
]
}
答案 0 :(得分:0)
您还需要导出界面:
export interface FooOptions {
x: string;
y: string;
}