преобразовал aws-усиление с помощью bab. next.js, но не работает с ie11 - PullRequest
0 голосов
/ 01 октября 2019

Я использую next.js и @ aws-усиление. Однако при работе на ie11 произошла ошибка.

Сначала @ aws-ampify использовал Object.assign, который не поддерживается ie11.

Error was not caught TypeError: Object doesn't support property or method 'assign'

Итак, загрузите node_modules / @ aws-amplify in babel.

const excludeModules = [
  '@aws-amplify',
];

const reModules = excludeModules.map((module) => (
  new RegExp(`/node_modules/${module}`)
));

module.exports = {
  crossOrigin: 'anonymous',

  webpack: (config) => {
    config.module.rules.forEach((rule) => {
      rule.include.push([
        path.join(__dirname, 'src'),
        ...excludeModules.map((module) => path.join(__dirname, `node_modules/${module}`)),
      ]);

      rule.exclude = path => {
        if (/next-server[\\/]dist[\\/]lib/.test(path)
          || /next[\\/]dist[\\/]client/.test(path)
          || /next[\\/]dist[\\/]pages/.test(path)
          || /[\\/](strip-ansi|ansi-regex)[\\/]/.test(path)
        ) {
          return false;
        }

        if (reModules.some(re => re.test(path))) {
          return false;
        }

        return /node_modules/.test(path);
      };
    });

    return config;
  },
};

Проблема с Object.assign решена. Но затем я получил ошибку с graphql.

IE - graphql - SCRIPT5022: Cannot use undefined “Boolean” from another module or realm

graphql также был нацелен на babel, но это не было исправлено.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name

Use "transform-runtime ", я хочу, чтобы он работал Function.name с ie11. Не хотите обновлять глобальное имя функции.

Как исправить в этом случае настройку babel next.js?

...