打字稿输出" class"标识符到javascript

时间:2015-10-20 09:59:46

标签: javascript typescript visual-studio-2015

所以...我今天一直在使用typescript并使用typescript类,示例类(实际上是抛出错误的那个,只因为它是输出的js文件中的第一个)

class AuthRequestDTO {
    grant_type: string;
    refresh_token: string;
    username: string;
    password: string;
    client_id: string;
    use_refresh: boolean;
}

这是一个.ts文件,以及项目中的许多其他.ts文件。该项目设置为将所有ts文件编译成1个输出js文件,这很好用。现在谈到这个问题;当我尝试使用chrome,firefox或IE浏览我的网站时,他们都会抛出异常,说" class是保留的标识符"。而Typescript文件中的类标识符完全有效。为什么typescript会将class关键字输出到生成的.js文件中? (我知道该类是javascript中的保留标识符,这不是我关心的问题,我担心的是为什么Visual Studio 2015s TS编译器会将" class"关键字放入输出中?)是否有设置我错过了,或者Visual Studio今天吸烟的东西?

到目前为止我尝试过的内容以及我正在使用的内容:

我正在运行Visual Studio 2015 Enterprise,解决方案是将ES6,TS Build选项转换为单个.js文件。我还使用带有打字的AngularJs库和带打字的JQuery,如果有人觉得使用这些库是一个促成因素。我还清理并重建了项目和整个解决方案,并重新启动了我的开发机器。我还关掉了"将javascript输出合并到文件"设置,看看它是否是古怪的东西,我在单独的.js文件中遇到相同的问题,所以它不是那样的。强迫"使用严格"也没有帮助,这是一个牵强的尝试,因为这是一个Javascript命令,而不是打字稿,但我想我还是试试。

1 个答案:

答案 0 :(得分:1)

  

Typescript将“class”标识符输出到javascript中

如果您的编译目标设置为es6,则TypeScript不会向下发射class

将编译目标设置为es5,使class转换为function/prototype模式。