awesome-typescript-loader:空数组的传播返回空数组

Posted

技术标签:

【中文标题】awesome-typescript-loader:空数组的传播返回空数组【英文标题】:awesome-typescript-loader: spread of empty array returns empty array 【发布时间】:2019-02-03 00:13:28 【问题描述】:

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

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

[...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

显然,这个烦人的事情不允许我在没有变通办法/第三方的情况下渲染依赖索引的组件。 那么,是我做错了什么,还是这是一个错误?

部分配置:


    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",

【问题讨论】:

【参考方案1】:

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

"downlevelIteration": true

补充:

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

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

【讨论】:

以上是关于awesome-typescript-loader:空数组的传播返回空数组的主要内容,如果未能解决你的问题,请参考以下文章

awesome-typescript-loader 不接受 JSON 中的更改

使用 Webpack 2 和 awesome-typescript-loader 的 baseUrl 和路径解析

TS2304:找不到名称“要求”

使用jQuery和Visual Studio SPA模板

可选链打包报错

react的ts配置