【问题标题】:VS2013 not adding Javascript generated from Typescript to project automaticallyVS2013 不会自动将 Typescript 生成的 Javascript 添加到项目中
【发布时间】:2014-12-10 16:32:44
【问题描述】:

我是第一次使用 TypeScript。我正在使用带有更新 4 的 Visual Studio 2013,带有更新 4 的 Web Essentials,并从 Microsoft 网站获得最新版本的 TypeScript。但是,按照教程对我不起作用:保存 TS 文件时,它会在我键入的代码右侧的屏幕上自动编译为 JavaScript,并在文件夹中创建一个 JS 文件。但是,此文件不会自动添加到项目中。如何设置 Visual Studio 2013 自动将生成的 JS 文件添加到项目中?

【问题讨论】:

  • 您查看过项目中未包含的文件吗? .js 文件可能不是项目的一部分,而是在目录结构中。
  • 谢谢,就是这样!我会更新问题。你会不会碰巧知道如何将这些生成的 JS 文件自动添加到我的项目中?
  • 为什么要添加它们?这些文件应被视为项目输出,通常不应签入。

标签: visual-studio-2013 typescript web-essentials


【解决方案1】:

如何设置 Visual Studio 2013 自动将生成的 JS 文件添加到项目中

为您的 TypeScript 文件夹使用 glob,即修改您的 .csproj 文件以包含:

<Content Include="client-src\**\*.*">
</Content>

【讨论】:

  • 我们为什么要做出这个改变?生成的 .js 文件不应该自动成为项目的一部分吗?
【解决方案2】:

除了 Basarat 的回答有效之外,还有另一种解决方案:什么都不做。 TypeScript 会生成一个 JavaScript 文件,该文件会自动放置在与 TypeScript 文件相同的文件夹中。在 Visual Studio 中,右键单击 TypeScript 文件所在的文件夹,然后选择“在文件资源管理器中打开文件夹”。您应该会看到该文件夹​​包含您创建的 TS 文件和生成的 JS 文件。

您无需将此 JS 文件添加到 Visual Studio 中的项目文件夹中:您只需引用它即可。如果你有一个 MVC 项目,其中的 Scripts 文件夹有一个名为 greeting.ts 的文件(你在 TypeScript 教程中创建的那个),路径将是“~/Scripts/greeting.ts”。相反,只需使用“~/Scripts/greeting.js”(以 js 而不是 ts 结尾)。 Visual Studio 足够聪明,可以从那里找出答案。这也适用于捆绑包。

【讨论】:

  • 除此之外你需要“复制到输出目录”
  • 正如@Cyber​​Fox 所说,发布站点时不需要将其复制到输出路径吗?我不相信标准发布操作会运行 TypeScript 编译器。所以现在当我添加一个 TS 文件时,任何从源控制获取文件的人都没有 .js 文件,除非他们先手动保存 TypeScript 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-24
  • 2021-11-05
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 2016-07-15
  • 1970-01-01
相关资源
最近更新 更多