gpt4 book ai didi

javascript - 如果使用 Webpack,我应该在 tsconfig.json 中指定根文件吗?

转载 作者:行者123 更新时间:2023-12-02 14:22:32 25 4
gpt4 key购买 nike

official handbook about tsconfig.json说:

The tsconfig.json file specifies the root files and the compiler options required to compile the project.

据我了解,tsconfig.json的根文件是tsc默认应该编译的文件(即没有显式传递文件)。根据handbook ,我可以使用"file"或“排除”属性来定义根文件。

If no "files" property is present in a tsconfig.json, the compiler defaults to including all TypeScript (*.ts or *.tsx) files in the containing directory and subdirectories. When a "files" property is present, only the specified files are included.

If the "exclude" property is specified, the compiler includes all TypeScript (*.ts or *.tsx) files in the containing directory and subdirectories except for those files or folders that are excluded.

The "files" property cannot be used in conjunction with the "exclude" property. If both are specified then the "files" property takes precedence.

我没有直接使用tsc。相反,我使用 Webpack编译我的 TypeScript 文件。因此,我使用hjs-webpack它使用 awesome-typescript-loader :

webpack.config.js

var getConfig = require('hjs-webpack');

var config = getConfig({
in: 'src/index.ts',
out: 'public',
clearBeforeBuild: true
});

module.exports = config;

我在我的webpack.config.js中指定了所有入口点。如果我没理解错的话,awesome-typescript-loader告诉 tsc 这些入口文件是根文件。这意味着 tsconfig.json 的"file"和“排除”属性始终被 tsc 忽略。这是正确的吗?

我经常在 Webpack 项目的 jsconfig.json 中看到“排除”属性。最好的例子是ts-loader (Webpack 的另一个 TypeScript 加载器),其中提到了此配置步骤:

  1. Add a tsconfig.json file.
{
"compilerOptions": {
"target": "es5",
"sourceMap": true
},
"exclude": [
"node_modules"
]
}

如果只使用Webpack进行编译,tsconfig.json的“files”和“exclude”属性总是被忽略,为什么我要在中指定“files”或“exclude”属性tsconfig.json

<小时/>

如果您需要更多信息(例如有关我的设置)来回答问题,请发表评论。

最佳答案

是的,如果您使用 webpack 进行编译,那么您不需要包含它,您只需指向要编译的唯一 ts 文件即可。您的加载程序将查找 tsconfig 文件以进行编译配置。它在网络应用程序中没有任何用途。

here is an example of webpack angular2 typescript seed i'm working on

关于javascript - 如果使用 Webpack,我应该在 tsconfig.json 中指定根文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38541124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com