【问题标题】:How to configure Visual Studio to combine all TypeScript files into one JavaScript file?如何配置 Visual Studio 以将所有 TypeScript 文件合并到一个 JavaScript 文件中?
【发布时间】:2013-01-13 10:43:14
【问题描述】:

使用 tsc 命令就像运行一样简单:

tsc --out all.js js/*.ts

在构建项目时如何配置 Visual Studio 以执行此操作?

【问题讨论】:

    标签: visual-studio-2012 typescript tsc


    【解决方案1】:

    我发现了一个可能更简单的解决方案,只需修改您正在构建的项目 (.csproj / .vbproj) 的构建属性:

    我不确定该功能是在哪个版本的 Typescript 中引入的。但它似乎比 svallory 的解决方案简单得多

    来源:http://rostacik.net/2013/12/18/how-to-setup-post-build-event-in-visual-studio-to-combine-multiple-typescript-files-to-one-javascript-file/

    编辑:从 Visual Studio 2015 开始,现在可以很容易地集成 Grunt/Gulp 任务并让它们在您的构建中运行。我个人非常喜欢使用 Gulp 来更精细地控制我构建和/或缩小的文件,我强烈推荐它。使用this guide 作为起点应该会有所帮助。

    【讨论】:

      【解决方案2】:

      刚刚收到。添加这一行:

      <Exec Command="tsc --out all.js @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
      

      到您的.csproj.vbproj 文件的BeforeBuild 目标,如下所示:

      <Target Name="BeforeBuild">
          <Message Text="Compiling TypeScript files" />
          <Message Text="Executing tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
          <Exec Command="tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
          <Exec Command="tsc --out all.js @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
      </Target>
      

      【讨论】:

      • 您几乎肯定不想像在这里那样调用tsc 两次(一方面,源映射不起作用,而且它需要两倍的时间)。只需修改现有的 Exec 元素以包含 --out 参数。
      • 我知道这将花费两倍的时间,但我认为这比修改构建要好,这样我就可以测试一切是否一切顺利,直到缩小脚本。源映射仅针对单个文件编译(我用于调试)生成。你能解释一下为什么源地图不起作用吗?
      • 当我尝试这个时,加载项目时出现错误:无法加载项目文件。 XML 注释不能包含“--”,并且“-”不能是最后一个字符...
      • @Grinn 在我看来,您将该行放在 xml 注释中。 (&lt;!-- .. --&gt;) 将您的文件粘贴到 gist,或将其发布到其他地方,并将其链接到此处,以便我为您提供更多帮助。
      • @svallory:我真傻。它评论中。我正在使用 Notepad++ 编辑 .csproj 文件(没有着色),并没有注意到该部分已被注释掉。
      【解决方案3】:

      似乎建议的解决方案适用于 typescript 0.8.1.1 而不是 0.8.2

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-05
        • 2012-10-30
        • 1970-01-01
        • 2013-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多