Реакция проекта es6 не запускается в Safari и Internet Explorer - PullRequest
0 голосов
/ 20 декабря 2018

Я работаю над проектом на основе реагирования / редукса, в котором я использую Ecma Script 6 (ES6).Проект успешно выполняется в Chrome и Firefox, но НЕ в Safari & Internet Explorer (IE).

Я узнал, когда открыл консоль Safari & IE.Я также настроил babel.У меня есть babel.config.js, как показано ниже.

module.exports = function (api) {
  api.cache(true)

  const isProd = process.env.NODE_ENV === 'production'

  const presets = ['@babel/preset-react']
  const plugins = [
    '@babel/plugin-syntax-dynamic-import',
    '@babel/plugin-transform-arrow-functions',
    ['@babel/plugin-proposal-decorators', { legacy: true }],
    ['@babel/plugin-proposal-class-properties', { loose: true }],
    [
      '@babel/plugin-transform-runtime',
      {
        corejs: 2,
        regenerator: false,
        useESModules: true,
      },
    ],
    'react-hot-loader/babel',
  ]

  if (isProd) {
    presets.push([
      '@babel/preset-env',
      {
        modules: false,
        loose: true,
        useBuiltIns: 'usage',
        exclude: ['transform-regenerator', 'transform-async-to-generator'],
      },
    ])
    plugins.push(
      [
        'module:fast-async',
        {
          compiler: {
            promises: true,
            generators: false,
          },
          runtimePattern: null,
          useRuntimeModule: false,
        },
      ],
      'transform-react-remove-prop-types',
    )
  } else {
    plugins.push('@babel/plugin-syntax-object-rest-spread')
  }

  return {
    presets,
    plugins,
  }
}

Поскольку я узнал, что Safari & IE выдает ошибки, которые const и arrow functions не определены и имеют синтаксическую ошибку, я добавил код нижедля arrow functions in babel.config.js:

require('@babel/core').transform('code', {
  plugins: ['@babel/plugin-transform-arrow-functions'],
})

На рисунках ниже показаны ошибки Safari для справки.safari arrow function err safari const err

и То же самое относится к Internet Expolrer.

Может кто-нибудь помочь мне, как запустить мой проект в Safari & IE,Какой плагин или полифилл необходимо использовать для преобразования всего синтаксиса ES6 в необходимый синтаксис браузера.

Ожидание ответов и ответов.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...