script1010: неопознанный синтаксис | Не удается конвертировать ES6 в ES5 с помощью Babel для IE11

В моем коде Reactjs я получаю

Script1010: неопознанный синтаксис.

Это происходит из-за файла types.min.js внутри папки node_module/types.js.

Внутри файла types.min.js; o=function(...n) код дает ошибку из-за синтаксиса ES6. И хотя я создаю код с помощью Gulp, он не конвертирует ES6 в ES5, поэтому IE11 выдает ошибку. Я использую babel-polyfill.

Таким образом, любой ключ, почему его не преобразовать.???

Хотя я конвертирую код types.js в формат ES5 и вставляю его в файл types.min.js, он отлично работает. Но это не правильный подход.

main.js:

// polyfills
   import 'classlist-polyfill';
   import 'element-closest';
   import objectFitImages from 'object-fit-images';
   import picturefill from 'picturefill';
   import 'masonry-layout/dist/masonry.pkgd';
   import 'imagesloaded/imagesloaded.pkgd';

babelrc:

{
  "presets": ["env","es2015", "react"],
  "plugins": [
    "transform-object-rest-spread",
    "transform-class-properties"]
}

1 ответ

Решение

Если вы скопируете https://raw.githubusercontent.com/phazelift/types.js/master/types.min.js в консоль IE 11 и запустите ее, вы увидите код, полученный из node_modules/types.js не совместим с IE 11.

Потому что в большинстве конфигураций стека сборки модули из node_modules Папка освобождается от транспортировки с помощью Babel, проще всего было бы скопировать их код в папки вашего проекта, где находится ваш собственный код JS. Импортирование этого оттуда гарантирует, что ваш Babel переносит код.

Другие вопросы по тегам