我有一个Ionic / Angular项目,在这里我想为src
文件而不是测试启用Typescripts严格模式。
因此,我更改了src/tsconfig.app.json
并将strict
设置为true
。当我编译项目时,我看到它正在工作(角度/离子serve
),但是vscode当然不理解这一点,只是在根目录中读取tsconfig.app
。而且,如果我在根目录中设置了strict
标志,我的.spec.ts
文件也会以严格模式进行解析。
有没有办法让vscode理解应该用哪些规则解析什么?
这些是我的文件: tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"resolveJsonModule": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"target": "es5",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"]
}
}
src / tsconfig.app.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"types": [],
"strict": true
},
"exclude": ["test.ts", "**/*.spec.ts", "**/*.view-spec.ts", "jest-global.mocks.ts", "mocks/**/*.ts"]
}
tsconfig.spec.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"allowJs": true,
"strict": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
}
}
我也使用TSLint plugin(但是我可以根据需要更改它)