我在VS.NET 2015中使用ASP.NET 5模板处理TypeScript项目。我添加了scripts/tsconfig.json
文件,默认情况下它包含以下exclude
部分:
"exclude": [
"node_modules",
"wwwroot"
]
然而,通过教程我还看到我应该将TypeScript构建输出配置到以下目录:
"outDir": "../wwwroot"
从官方TypeScript wiki陈述exclude
的定义:
如果指定了“exclude”属性,则编译器包括all 包含目录和中的TypeScript(* .ts或* .tsx)文件 除了那些被排除的文件或文件夹之外的子目录。
我的困惑是因为tsconfig.json
文件将设置应用于其所在文件夹中的虚拟打字稿项目,而我的文件位于/scripts
文件夹中,我是否还需要该设置?为什么我会排除wwwroot
,为什么会自动添加该设置?我不打算在wwwroot
文件夹中包含/scripts
文件夹,所以我试图理解为什么要将其排除在外?或者它是默认添加的,因为我可以将我的tsconfig.json
文件夹添加到我的项目的根目录,在这种情况下,人们会想要排除wwwroot
文件夹?
答案 0 :(得分:1)
wwwroot
目录用于输出文件。在典型的ASP.NET 5 Web项目中,* .js / * .css文件将从* .ts和* .less / * .sass编译。此源文件是项目的一部分和您使用的代码。
在构建,更改或发布时,您编译成ie * .js,将它们合并到一个文件中,例如minify(aka uglify),然后将它们复制到wwwroot
中的文件夹以及所有静态文件你的网络项目。
使用exclude: "wwwroot"
,你告诉不要在那里搜索* .less / *。sass / * .ts文件,因为这些文件中没有文件应该位于那里。
答案 1 :(得分:0)
类型脚本编译器搜索typescript文件(输入)并在每个文件夹中编译它们。使用排除,您告诉编译器不要在wwwroot
文件夹中搜索(输入)打字稿文件。 outDir
告诉typescript编译器输出编译的文件到wwwroot
。然后,您编译的文件可以提供给客户端。