当将import
与declare
语句结合使用时,Typescript编译器无法正常工作。
例如:
我们有class.d.ts
个包含内容的文件
declare class ModuleClass {}
和文件main.ts
new ModuleClass()
在这种情况下,打字稿可以毫无错误地进行编译。
但是,如果我像这样在import
中添加class.d.ts
语句:
import * as react from "react"
declare class ModuleClass {}
在这种情况下,打字稿将因下一个错误而失败:
src/class.ts:1:5 - error TS2304: Cannot find name 'ModuleClass'.
1 new ModuleClass()
~~~~~~~~~~~
Found 1 error.
我在做什么错?可能是我为tsconfig.json
设置了一组错误的选项?
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"jsx": "react",
"module": "es6",
"target": "es5",
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"noEmitHelpers": true,
"outDir": "js",
"rootDir": "src",
"sourceMap": true,
},
"include": [
"./typings/*",
"./src/**/*"
]
}
答案 0 :(得分:0)
您必须从src/class.ts
导出类:
我将ModuleClass
设置为const,然后将其导出为这样:
const ModuleClass = { };
export default ModuleClass;