gpt4 book ai didi

visual-studio - TypeScript 仅发出一次样板代码

转载 作者:搜寻专家 更新时间:2023-10-30 21:13:15 33 4
gpt4 key购买 nike

在仔细检查从 *.ts 文件生成的代码后,我发现如果你扩展一个类,那么样板 __extends函数被复制了多少次,扩展了多少次……这可能是因为我使用 Web Essentials 来编译 TypeScript 源代码,因此 tsc不知道只需要写一次?

以下是项目构建文件中与 TypeScript 相关的设置:

<PropertyGroup>
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptIncludeComments>false</TypeScriptIncludeComments>
<TypeScriptSourceMap>false</TypeScriptSourceMap>
...
</PropertyGroup>

我有一堆:

  <ItemGroup>
<TypeScriptCompile Include="$(ProjectDir)src\Foo.ts" />
<TypeScriptCompile Include="$(ProjectDir)src\Bar.ts" />
<TypeScriptCompile Include="$(ProjectDir)src\Baz.ts" />
...
</ItemGroup>

tsc 有一个命令行选项,具体来说,--out用于生成单个文件而不是一堆文件,但添加 <Out><TypeScriptOut>属性组似乎没有工作...

最佳答案

它会为每个文件生成一次。这是因为编译器为每个文件运行一次并且不知道在另一个文件中将定义相同的函数。

使用 --out 标志仅在输出文件的顶部插入此函数一次。但是,目前没有在 Visual Studio 中使用此标志的选项。但是,您可以像史蒂夫提到的那样手动编辑您的项目文件。

<Target Name="BeforeBuild">
<Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\$(TypeScriptVersion)\tsc&quot; --out final.js @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

来源:https://stackoverflow.com/a/15346708/390330

关于visual-studio - TypeScript 仅发出一次样板代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16506205/

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