typescript - 打字稿无法从其他目录中找到接口
问题描述
我的项目中有 2 个主要文件夹:
src/*.ts
test/*.test.ts
在 src 文件夹中有一个名为IImportRow.ts
interface IImportRow {
transactionId?: string;
transactionApiId?: string;
...
}
文件夹中的所有其他 ts 文件都可以找到此接口src
。
但是在test
文件夹中 TS 找不到接口
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
},
解决方案
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"]
}
推荐阅读
- ca - 我可以在 mitmproxy 上使用来自受信任 CA 的 SSL 证书吗?
- c++ - 随物体在OpenGL中移动而改变旋转点?
- javascript - 带赋值的二元条件运算符
- java - 在ui端使用Java springboot app和angular实现Oauth2
- c# - 使用三元运算符c#随机解析枚举器以确定左或右
- wordpress - WordPress:为什么会出现这个错误[抽搐]
- python - 有没有办法将 $regexMatch 放在 MongoDB 聚合管道中每个对象级别的特定字段上?
- ruby-on-rails - 关于 ActionCable,是否有大量频道订阅(但只有一个连接)以提高性能?
- r - 在 sparklyr 中计算累积和
- linux - 为什么我在文件中读取的 nohup bash 脚本总是在文件结束前停止输出大约 6k 的计数?