Надеемся получить помощь по следующим вопросам:
Проблема
@ babel / polyfill вызывает ошибку в IE11:
SCRIPT1010: Expected identifier
Отладчикточка на линии:
if (delegate.iterator.return) {
в функции maybeInvokeDelegate()
в regenerator-runtime
плагине.
Но
Проблема возникает только в тестовой среде .Когда я запускаю приложение локально, с точно такой же сборкой, в том же браузере, он работает просто отлично.Он содержит тот же код, но ничего не нарушает.
То, что я уже пробовал:
babel-plugin-transform-member-expression-literals , похоже, не помогает.
Я пытался заменить @ babel / polyfill только необходимыми полифиллами, но мне это не удалось.Слишком много ошибок, приводящих к повреждению приложения, которое трудно поймать / отладить / понять.
Установите useBuiltIns: "usage"
в .babelrc
, но столкнулись с проблемой импорта необходимых модулей.Я собираюсь дать еще одну попытку.
Я просмотрел все те же проблемы с regeerator-runtime и babel-polyfill на github, но не нашел рабочего решения.
Конфиг
В данный момент мне требуется @ babel / polyfill в конфигурации webpack и использовать его в качестве точки входа.Я считаю, что мне даже не нужно время выполнения регенератора, потому что, насколько я понимаю, оно используется для асинхронной функции (возможно, я ошибаюсь), и мы не используем их.
Я не использую babelзагрузчик для веб-пакета, но после веб-пакета запустите babel для каталога /dist
.
My babelrc:
{
plugins: ["transform-member-expression-literals"],
presets: [
[ "@babel/preset-env",
{
useBuiltIns: "entry",
modules: "false",
targets: {
ie: 11
}
}]
]
}
webpack.config
require("@babel/polyfill")
const getDefaultConfig = env => ({
mode: "development",
entry: ["whatwg-fetch", "@babel/polyfill", "./src/index.js"],
... })
Я обновил все пакеты babel до последнейверсии.
Цените любую помощь или идеи.