2017-04-15 87 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