用于 create-react-app 的 ES6 Polyfill 不工作

ES6 Polyfill for create-react-app isn't working

我使用 create-react-app 创建了一个新的 reactjs 项目,但我发现它在 IE10 和 IE9 上不起作用。我做了很多研究,它引导我使用 polyfills,我在 React 应用程序上用我的许多其他 Rails 完成了它,但我发现它不适用于通过 [=12= 创建的这个项目].

这是错误:

SCRIPT5009: 'Map' is undefined

我注意到这个错误与 ES6 的 new Map() 函数有关。

所以,这是我在我的代码中所做的,试图让它工作:

import './polyfill';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import { BrowserRouter } from 'react-router-dom';
import 'bootstrap/dist/css/bootstrap.min.css';

const app = (
  <BrowserRouter basename={process.env.PUBLIC_URL}>
    <App />
  </BrowserRouter>
);

ReactDOM.render(app, document.getElementById('root'));

Polyfill.js:

import 'core-js/es6/map';
import 'core-js/es6/set';
import 'core-js/fn/object/assign';

这是行不通的。我不确定还能尝试什么。我也尝试了很多其他的 polyfill 导入,但仍然遇到同样的错误。

如有任何帮助,我们将不胜感激!

所以,看来 create-react-app 是限制我控制 webpack 配置的原因,我决定采用不同的方法并使用 webpack 4 构建一个新的 React 应用程序。我遵循了这篇文章,https://dev.to/saigowthamr/how-to-create-a-react-app-from-scratch-using-webpack-4-1909.

这让我可以更好地控制 webpack 配置,现在 polyfill 加载器可以正常工作了。

尽管如此,如果有人能解释为什么它不能与 create-react-app 一起工作,我认为这对社区了解会有帮助。 谢谢!