当我的 tsconfig.json 中只有 include=["src"] 时,为什么需要 except=["node_modules"] ?

Smr*_*tal 5 node-modules typescript tsconfig

我只想编译“src”文件夹。因此我这样做了include:["src"],并且node_modules仅在src之外找到,那么为什么我需要像exclude: ["node_modules"]许多网站所建议的那样排除它们?

例如,他们还建议我们包含 src,然后也排除 node_modules - https://www.javatpoint.com/typescript-compilation-context

{  
    "compilerOptions": {  
        "module": "system",  
        "noImplicitAny": true,  
        "removeComments": true,  
        "preserveConstEnums": true,  
        "outFile": "../../built/local/tsc.js",  
        "sourceMap": true  
    },  
    "include": [  
        "src/**/*"  
    ],  
    "exclude": [  
        "node_modules",  
        "**/*.spec.ts"  
    ]  
}  
Run Code Online (Sandbox Code Playgroud)

我不必在 tsconfig.json 中编写任何排除,对吧?

小智 2

首先,您不必在选项node_modules中指定exclude,因为 TypeScript 默认情况下会自动排除它。

如果exclude禁用,TypeScript 会将这些目录排除在外。

- node_modules
- bower_components
- jspm_packages
- the files <outDir> option specifies
Run Code Online (Sandbox Code Playgroud)

exclude选项仅用作include选项的过滤。所以只有在使用该选项时才可以指定它include

通过此处的示例查看更多详细信息。

https://medium.com/javascript-in-plain-english/typescript-configuration-options-tsconfig-json-561d4a2ad4b