我需要编译.test.ts
文件,但同时我已经编译了主项目,我不需要每次更改测试时都重新构建它。我试着这样做:
tsconfig.test.json
{
"extends": "./tsconfig.dev.json", // компилирует всё, кроме .test.ts
"include": ["src/**/*.test.ts"], // используем тот же конфиг, но только для .test.ts
"exclude": [], //
...
}
但是尽管我在配置中指出我只想编译.test.ts
文件,但它也编译了import
. 我怎样才能确保tsc
我相信“在地板上”导入的脚本已经被编译?
src/a.ts
// какой-то библиотечный код
src/a.test.ts
import {
// ...
} from './a' // импорт, из-за которого a.ts повторно компилируется
// какой-то тестирующий код
编译前(我已经用tsconfig.dev.json
, 用tsconfig.test.json
- 还没有编译过):
projroot
├─...
├─tsconfig.dev.json
├─tsconfig.test.json
├─src/
│ ├─a.test.ts
│ └─a.ts
└─dist/
└─a.js // результат компиляции tsconfig.dev.json
编译后(使用 current tsconfig.test.json
):
projroot
├─...
├─tsconfig.dev.json
├─tsconfig.test.json
├─src/
│ ├─a.test.ts
│ └─a.ts
└─dist/
├─a.test.js // результат компиляции tsconfig.test.json
└─a.js // tsconfig.test.json также задевает и этот файл, т.к. он импортируется в
// a.test.ts, заставляя его повторно компилироваться, хотя его нет в include
编译后(修改后tsconfig.test.json
):
projroot
├─...
├─tsconfig.dev.json
├─tsconfig.test.json
├─src/
│ ├─a.test.ts
│ └─a.ts
└─dist/
├─a.test.js // результат компиляции tsconfig.test.json
└─a.js // результат компиляции tsconfig.dev.json