我tsconfig.json
的是
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"module": "es6",
"target": "es5",
"jsx": "react",
"allowJs": true,
"preserveConstEnums": true,
"removeComments": true,
"noImplicitAny": false,
"moduleResolution": "node",
"noUnusedParameters": true
},
"include": [
"./src/**/*"
],
"exclude": [
"node_modules",
"@typings",
"typings/main",
"typings/main.d.ts",
"typings/index.d.ts"
],
"paths": {
"react": ["node_modules/@types/react"]
}
}
我已将其添加karma-typescript
到我的配置中
settings.frameworks.push('karma-typescript');
settings.preprocessors['test-bundler.js'].unshift('karma-typescript');
settings.karmaTypescriptConfig = {
tsconfig: './tsconfig.json',
};
使用 webpack,开发服务器和编译工作正常。
这是一个虚拟测试
describe('Root', () => {
it('should pass', () => {
console.log('done');
});
});
运行测试时,我得到
node_modules/@types/react/index.d.ts(2736,19):错误 TS2320:接口“ElementClass”不能同时扩展类型“组件”和“组件”。“组件”和“组件”类型的命名属性“道具”不相同。
和那些类似。如果我删除settings.preprocessors['test-bundler.js'].unshift('karma-typescript');
,那么测试运行良好(但是当我开始导入源文件时我无法预编译打字稿。
到底是怎么回事?tsconfig.json
我的正常构建和开发服务器运行良好