我的项目中确实有2个主文件夹:
src/*.ts
test/*.test.ts
在src文件夹中,有一个名为IImportRow.ts
的接口
interface IImportRow {
transactionId?: string;
transactionApiId?: string;
...
}
可以在src
文件夹中的所有其他ts文件中找到此界面。
但是,TS在test
文件夹中找不到该接口
var row: IImportRow = {
transactionId: '10',
...
};
[ts]找不到名称'IImportRow'。
这是预期的行为吗?我应该怎么做才能修复它?
这是我的tsconfig.json
配置
"compilerOptions": {
"target": "es2018",
"module": "commonjs",
"sourceMap": true,
"outDir": "dist",
"strict": false,
"noImplicitAny": false,
"strictPropertyInitialization": false,
"esModuleInterop": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true
},
答案 0 :(得分:1)
TsConfig文件有一个附加部分,可让您指定应包含/排除哪些目录以供TS编译器检查。您只需要将测试文件夹添加到include
数组中即可。这是我的一个项目中的示例,您可以根据需要进行调整。
{
"compilerOptions": {
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es6",
"sourceMap": true,
"allowJs": true,
"outDir": "./build",
"baseUrl": "./src",
"skipLibCheck": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "build", "**/*.spec.ts"]
}