Visual Studio中最简TypeScript项目的最小新格式项目配置是什么?
纯TS编译需求的极简SDK格式项目实现
完全不用为了编译TS硬套完整的旧格式Web应用项目,用VS新的SDK风格项目格式,就能做到几乎和你预期一致的极简配置,彻底避免旧项目文件手动罗列每个文件、臃肿难维护的问题。
你设想的ConvertTypeScriptFilesToJavaScript这类单独的显式开关并不存在,因为TS编译能力本身就是对应SDK的内置功能,不需要额外开启开关,只要精简掉所有和Web运行、托管相关的冗余配置,就能做到只保留TS转JS的核心逻辑。
可直接复用的最小项目文件
最极致精简的版本甚至只需要几行配置:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <!-- 指定TS编译后的JS输出目录,按需调整路径 --> <TypeScriptOutDir>./dist</TypeScriptOutDir> </PropertyGroup> </Project>
这套配置的核心优势
- 选用
Microsoft.NET.Sdk.Web是因为这个SDK本身内置了VS官方的TS编译集成能力,不需要额外安装第三方构建工具包,普通的类库SDK本身没有自带TS编译任务,无法直接完成TS转JS的流程 - SDK格式的项目默认会递归自动包含目录下所有的
.ts文件,不会像旧项目格式那样把每个TS文件的路径手动写在项目文件里,不管目录下有几百还是几千个TS文件,项目文件的长度都不会膨胀 - 这套配置默认不会生成多余的Web页面、可执行宿主、静态资源托管逻辑,构建过程只完成TS到JS的转换,输出的JS可以直接被解决方案里负责实际分发、托管的其他项目引用
如果需要进一步精简掉无关的构建步骤,还可以在PropertyGroup里加几个开关彻底关掉不需要的Web项目能力:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TypeScriptOutDir>./dist</TypeScriptOutDir> <!-- 关闭无关的Web项目能力,进一步减少构建冗余 --> <UseAppHost>false</UseAppHost> <OutputType>Library</OutputType> <AddRazorSupportForMvc>false</AddRazorSupportForMvc> </PropertyGroup> </Project>
实操注意点
- 构建方式和普通VS项目完全一致,要么在解决方案资源管理器里右键项目点生成,要么用命令行跑
dotnet build,就会自动触发TS编译流程 - 如果需要调整TS编译规则(比如指定ECMAScript版本、开启严格模式、生成Sourcemap),既可以直接在PropertyGroup里加对应的TS编译属性,也可以在项目目录下放标准的
tsconfig.json,SDK会自动识别生效,不需要额外配置构建步骤 - 因为项目本身不承担托管职责,你可以把生成的JS路径直接配到其他Web项目的静态资源映射规则里,完全不需要把TS代码挪到Web项目目录下混放
内容的提问来源于stack exchange,提问作者Cesar Coll
相关产品推荐
相关产品推荐

