official handbook about tsconfig.json说:
tsconfig.json文件指定编译项目所需的根文件和编译器选项。
据我了解, tsconfig.json 的根文件是tsc
默认应编译的文件(即没有明确传递文件)。根据{{3}},我可以使用"文件"或"排除"用于定义根文件的属性。
如果没有"文件"属性存在于tsconfig.json中,编译器默认包含所有包含目录和子目录中的TypeScript(* .ts或* .tsx)文件。当一个"文件"属性存在,只包含指定的文件。
如果"排除"如果指定了property,则编译器将包含所有包含目录和子目录中的TypeScript(* .ts或* .tsx)文件,但排除这些文件或文件夹除外。
"文件"财产不能与"排除"属性。如果两者都被指定,那么"文件"属性优先。
我没有直接使用tsc
。相反,我使用handbook来编译我的TypeScript文件。因此,我使用Webpack使用hjs-webpack:
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 的属性始终被tsc
忽略。这是正确的吗?
我经常看到"排除" Webpack项目的 jsconfig.json 中的属性。最好的例子是awesome-typescript-loader(Webpack的另一个TypeScript加载器),它提到了这个配置步骤:
- 添加tsconfig.json文件。
醇>
{
"compilerOptions": {
"target": "es5",
"sourceMap": true
},
"exclude": [
"node_modules"
]
}
如果"文件"和"排除"如果只使用Webpack进行编译,则总是忽略 tsconfig.json 的属性,为什么要指定" files"或"排除" tsconfig.json 中的属性?
如果您需要更多信息(例如关于我的设置),请发表评论以回答问题。
答案 0 :(得分:2)
是的,如果您使用 webpack 进行编译,那么您不需要包含它,只需指向您要编译的唯一ts文件。您的加载器将查找用于编译配置的tsconfig文件。它在webapp中没有用处。
here is an example of webpack angular2 typescript seed i'm working on