设置tsconfig“文件”与“包含”的最佳实践?

Tot*_*.js 7 typescript tsconfig

我想知道什么更好,在tsconfig中使用“文件”与“包含”的优缺点是什么?

我不太喜欢include模式,因为只是将所有ts文件包括在src文件夹中,现在我可能想要这样。

我喜欢“文件”方法,因为我可以指向入口文件并仅加载该文件所需的所有内容。

我在webpack中使用打字稿。我猜入口点是在webpack中定义的,所以也不需要在打字稿中定义吗?

我尝试使用“文件”,但似乎无法设置文件夹以查找自定义类型定义:带有tsconfig和“ files”的打字稿=>找不到导入图像模块

Dmi*_*sky 17

两个例子tsconfig.json打字稿,酮与官方网站上介绍"files"的财产,另一个与"include""exclude"指定的属性:

使用"files"物业

{
    "compilerOptions": {
        // irrelevant
    },
    "files": [
        "core.ts",
        "sys.ts",
        "types.ts",
        "scanner.ts",
        "parser.ts",
        "utilities.ts",
        "binder.ts",
        "checker.ts",
        "emitter.ts",
        "program.ts",
        "commandLineParser.ts",
        "tsc.ts",
        "diagnosticInformationMap.generated.ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

使用"include""exclude"属性

{
    "compilerOptions": {
        // irrelevant
    },
    "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules",
        "**/*.spec.ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

因此,基本上,"files"用于直接通过路径指定单独的文件,而"include""exclude"用于定位文件或文件夹等的集合或组。

  • @Marek:是的 - 如果您添加任何内容,“文件”中的内容永远不会被“排除”模式排除,而“包含”中的内容则会被排除。(如果您只添加一个“files”数组并期望之前拥有的所有其他内容保持原样,那么还要添加默认规则“include”:[“**/*”]`,当您有没有“文件”规则。) (5认同)
  • 两者可以同时使用吗? (2认同)