首页 > 解决方案 > 如何使 vscode tslint 尊重 tsconfig.app.json 的角度项目

问题描述

我有一个 Ionic/Angular 项目,我想为src文件启用 Typescripts 严格模式,但不为测试启用。

所以我已经改变src/tsconfig.app.json并设置stricttrue. 当我编译项目时,我看到它工作(角度/离子serve),但当然 vscode 不理解这一点,只是读取tsconfig.app根目录。如果我strict在 root 中设置标志,我的.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 插件(但如果需要我可以更改它)

标签: angularvisual-studio-codetslint

解决方案


推荐阅读