Babel 7 и webpack 4 не работают для операции условного распространения в массиве [синтаксис короткого замыкания] - PullRequest
0 голосов
/ 20 октября 2018

Я сталкиваюсь со специфической проблемой, когда синтаксис короткого замыкания не работает после обновления до Babel 7 с предыдущей версии, где я использовал stage-0, и это работало без проблем

Не работает:

...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" }] : []),

Я включил плагин Babel-Polyfill в веб-пакет, и я тестирую его в последней версии Chrome

Так что вопрос в том, какой плагин я должен включить, чтобы сделатьэто работает без изменения кода

1 Ответ

0 голосов
/ 20 октября 2018

Я предполагаю, что isCSCProfile - логическое значение.Если isCSCProfile ложно, то вы пытаетесь распространить логическое значение в первом случае , которое не будет работать .

После более глубокого изучения этого вопроса, похоже, я ошибся из-за того, что синтаксис распространения не работает для логических значений.@babel/plugin-transform-spread имеет параметр с именем loose, который должен просто пропускать «нулевые» значения, что вам и нужно.Есть также открытая проблема о непостоянной согласованности режима , которая, вероятно, является причиной того, что это не работает правильно.

...