我有一个使用@types和一些自定义键入的角度应用程序。由于某种原因,当我为该应用提供服务时,并且当我使用ng test运行测试时,无法找到自定义类型。我不明白为什么会这样,而且我不明白您应该如何管理扩展配置,或者为什么要在服务和测试之间使用不同的类型。
这是我自动生成的配置:
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
tsconfig.app.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"allowSyntheticDefaultImports" : true,
"outDir": "../out-tsc/app",
"module": "es2015",
"types": []
},
"exclude": [
"src/test.ts",
"**/*.spec.ts"
]
}
tsconfig.spec.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"module": "commonjs"
},
"files": [
"test.ts",
"polyfills.ts"
],
"include": [
"**/*.spec.ts",
"**/*.d.ts"
]
}
我尝试了许多不同的变体,但仍然不明白为什么它可以用于投放但不能用于测试。我知道不指定types数组意味着应该抓住所有类型吗?然而相反的说法似乎是正确的。
如果有人可以说一些话,我将不胜感激。
答案 0 :(得分:0)
错误不是由缺少类型引起的,而是由缺少类型的全局函数引起的。