awesome-typescript-loader:空数组的传播 returns 空数组

awesome-typescript-loader: spread of empty array returns empty array

好吧,一切都很棒,直到我开始展开空数组以呈现几个类似的依赖于索引的组件。

我写了这行代码(像往常一样):

[...Array(3)].map((_, i) => {...}) // return something, you know

或者,更相对地

[...Array(3)].map((_, i) => i)

我期望什么以及正常行为是什么(例如在 Chrome 的控制台中,或者在我使用 Typescript 之前 Babel 做了什么):

[0, 1, 2]

我在我的 React TypeScript 应用程序中得到了什么(使用 webpack-dev-serverawesome-typescript-loader):

[empty x 3]

我更深入了。我从我的应用程序登录 [...Array(3)],然后在 Chrome 的控制台中登录。我得到了什么:

[undefined, undefined, undefined] // from Chrome's console
[empty x 3] // from my app

显然,这个烦人的事情不允许我在没有 workarounds/third-parties 的情况下渲染索引依赖组件。 那么,我是做错了什么,还是这是一个错误?

部分配置:

{
    test: /\.tsx?$/,
    loader: "awesome-typescript-loader",
    exclude: /node_modules/
},
{
    enforce: "pre",
    test: /\.js$/,
    loader: "source-map-loader"
},

版本:

"awesome-typescript-loader": "^4.0.0",
"typescript": "^3.0.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.11.1",

好吧,还有另一个名为 downlevelIteration 的编译器选项。

时一切正常
"downlevelIteration": true

补充:

如果你想传播 HTMLCollection 或类似的东西(例如 NodeList),你应该将 dom.iterable 包含在 lib 选项中,例如:

"lib": ["es6", "dom", "dom.iterable"]