Visual studio 2013 Visual Studio 2013:typescript的保存/构建生成不同的javascript枚举

Visual studio 2013 Visual Studio 2013:typescript的保存/构建生成不同的javascript枚举,visual-studio-2013,enums,typescript,Visual Studio 2013,Enums,Typescript,当我从VisualStudio保存typescript时,枚举值仍然是人类可读的 例如: switch (color) { case Color.Red: break; } 保持原样,但当我构建项目时,将替换整数值,使其成为 switch (color) { case 1 /* Color.Red */: break; } 我确实在另一个enum.ts文件中定义了我的enum,并添加了对它的引用 如何获得Save(Ctrl+S)和build以生成相同的javascript 如何

当我从VisualStudio保存typescript时,枚举值仍然是人类可读的

例如:

switch (color) {
   case Color.Red: break;
 }
保持原样,但当我构建项目时,将替换整数值,使其成为

switch (color) {
   case 1 /* Color.Red */: break;
}
我确实在另一个enum.ts文件中定义了我的enum,并添加了对它的引用

如何获得Save(Ctrl+S)和build以生成相同的javascript

如何获得Save(Ctrl+S)和build以生成相同的javascript

不要使用
常量
枚举(普通枚举可以)。那么这两个的输出将是相同的


如果普通枚举出现此错误,请检查您的typescript版本。这只是TS 1.4中的一个问题,但自TS1.5 beta版以来已得到修复:

,因为每次团队成员打开项目时,这些js文件都会根据上次保存的方式进行签出。我只需要两个方法来产生相同的输出。它们是纯枚举。枚举例如颜色{红、绿、蓝}您确定您使用的是最新版本的TypeScript。这是TypeScript 1.4中的一个问题:是的,我在TS 1.4上。我当前的解决方法是仅在生成之后签入代码,以便它将采用生成格式vs(Ctrl+S)。我的猜测是,TS不能确定我是否包含了enums.js文件,因此它只是为了安全起见而替换这些值。如果Ctrl+S能做同样的事情就好了。如果TypeScript模块设置更改为build for AMD,它将使用枚举值。我没有使用任何模块系统。