2017-04-15 85 views
-1

'我使用的是TS 2.2,我尝试使用tsc编译我的ES6模块(js文件),并且它编译成有效的ES5代码。我在过去使用谷歌的Tracur或其他工具。我相信,从ES6到ES5编译js文件的这个功能,并不是tsc编译器的一部分。这是否已添加到新的TS版本? 我试图调查tsc的变化,但没有发现此功能被添加。 有谁知道,当这个功能被添加?tsc将ES6代码编译为ES5

以下是我test.js文件,

function Add(...numberArr){ 

     let result = 0; 

     numberArr.forEach((n) => result += n); 

     return result; 

    } 
与TSC

编译的文件看起来下面,

"use strict"; 
function Add() { 
    var numberArr = []; 
    for (var _i = 0; _i < arguments.length; _i++) { 
     numberArr[_i] = arguments[_i]; 
    } 
    var result = 0; 
    numberArr.forEach(function (n) { return result += n; }); 
    return result; 
} 

注:我们需要标志设置AllowJS到真正尽管在tsconfig.json文件利用这个功能。

+0

为什么要降票。之前我使用babel或traceur进行同样的工作,但现在我只是使用tsc。是不是一个有效的问题要问? – user2225263

回答

0

打字稿总是有一个嵌入式的翻译,你可能没有注意到。

+1

注意:[--allowJs出现在1.8](https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#including-js-files-with---allowjs) – artem