【问题标题】:Typescript will not properly compile in VS2012Typescript 在 VS2012 中无法正确编译
【发布时间】:2014-05-02 21:54:13
【问题描述】:

不知为何,Typescript 突然停止可靠地编译成 JS 代码。

使用 VS2012、Typescript for VS 版本 0.8.3.1 和 Web Essentials 版本 2.6(设置为“保存时编译”)。

我可以创建一个新的 Typescript 文件并对其进行简单的更改(例如导出一个简单的 var 或函数)。我可以保存TS文件并查看JS翻译。

但是,一旦我添加了一个或多个 TS 定义文件(我使用的是 AMD)然后编辑 TS 文件,相应的 JS 文件中不会出现进一步的更改。对 TS 文件的编辑将不再更新 JS。 Typescript 也不再检查错误。

只有当我关闭并重新打开 VS2012 时,才会出现正确的 JS 文件。

我已经卸载/重新安装了 Typescript、Web Essentials 和 VS2012 无济于事。

有人对我如何解决这个问题有任何建议吗?我不知所措。

编辑

这是一个完全可重现的条件。今天,我格式化了我的驱动器并重新安装了VS2012。使用 64 位版本的 Windows 7。创建了一个新的 MVC4 项目。创建了一个新的 TS 文件。添加了几个定义文件。试图编辑默认的 getDist() 函数。已保存。没有更新 JS 文件。删除了定义文件。已保存。 JS 文件按预期正确更新。

无法想象只有我一个人遇到这个问题!!

请帮忙!

重新编辑 问题解决了。见下文。

【问题讨论】:

  • 尝试用不同的代码创建一个新项目,看看那里是否也会发生这种情况。
  • 我唯一能想到的是,Web Essentials 和 VS2012 都可能试图同时写入 JS 文件。如果您没有在 VS2012 > Tools > Options 中关闭 compile-on-save,我会这样做,以便 Web Essentials 可以负责。
  • 新项目也会出现同样的问题。
  • @CCPony 这将是一个竞争条件,两个进程试图访问同一个文件。文件越大,进程运行的时间越长,发生冲突的可能性就越大。您可以在 Tools > Options > Text Editor > TypeScript > Project > Compile on Save 中找到 Visual Studio 设置(有两个复选框)。
  • 我也遇到了同样的问题,目前还没有找到解决办法...

标签: visual-studio typescript web-essentials


【解决方案1】:

发生在我身上,

我通过将 ts 文件的构建操作设置为 TypeScriptCompile 解决了这个问题

【讨论】:

    【解决方案2】:

    请看:Preview pane for TypeScript missing and/or not updating in VS2012/13

    还要检查 TS 文件中是否存在编译错误 - 语言更新可能会在您不注意的情况下产生错误,并且新版本的 WE 根本不会像以前那样更新预览窗格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 2017-12-09
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多