在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ TypeScript,ts-loader轉(zhuǎn)義錯誤的問題

TypeScript,ts-loader轉(zhuǎn)義錯誤的問題

前幾天有一個需求是這樣的,需要創(chuàng)建一個長度為n的有序數(shù)組,像這樣。

[0,1,2,3,4,5,6,...]

我這樣實現(xiàn)的,。

[...Array(10).keys()]

然后在 TypeScript 的項目里就出錯了。

最后排查后發(fā)現(xiàn)是 ts-loader ,他在轉(zhuǎn)義ES6的擴(kuò)展運(yùn)算符...的時候用slice方法實現(xiàn)的。
但是 Array(10).keys() 得到的是一個數(shù)組的迭代器,迭代器上面是沒有slice方法的,所以就報錯了。

這里是 TypeScript 官網(wǎng)對 [...Array(10).keys()] 的轉(zhuǎn)義結(jié)果

Array(10).keys().slice();

這個是 babel 的轉(zhuǎn)移結(jié)果

"use strict";

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

[].concat(_toConsumableArray(Array(10).keys()));

可以看到他們的區(qū)別特別大的。

這里該怎么配置 webpack 可以讓 ts-loader 只是轉(zhuǎn)義到 ES2015, 然后用 babel 再繼續(xù)下面的轉(zhuǎn)義?

回答
編輯回答
尐懶貓

tsconfig.json里面設(shè)置 "target": "es6"應(yīng)該就好了

2018年8月24日 17:58