Babel 7 和 webpack 4 不适用于数组中的条件扩展操作[短路语法]

IT技术 javascript reactjs webpack babeljs
2021-04-30 15:11:01

我遇到了一个奇怪的问题,从我使用 stage-0 的先前版本升级到 Babel 7 后,短路语法不起作用,并且它没有任何问题

不工作:

...isCSCProfile && [{ isComplete: progressbarStates[3] === PROGRESS_BAR_SUCCESS, messageKey: commonOrderMessages.service_request_header, link: "serviceRequest-header" }],

作品:

...(isCSCProfile ? [{ isComplete: progressbarStates[3] === PROGRESS_BAR_SUCCESS, messageKey: commonOrderMessages.service_request_header, link: "serviceRequest-header" }] : []),

我在 webpack 中包含了 Babel-Polyfill 插件,我正在测试最新的 chrome 版本

所以问题是我应该包含哪个插件才能使其工作而无需更改代码

1个回答

我假设这isCSCProfile是布尔值。如果isCSCProfile是假,那么你试图在第一种情况下传播一个布尔值,这是行不通的

在深入研究之后,似乎我错了传播语法不适用于布尔值。@babel/plugin-transform-spread有选项 named loose,应该只是跳过“nullish”值,这就是你在这里想要的。还有一个关于松散模式一致性的悬而未决的问题,这很可能是它无法正常工作的原因。