用于create-react-app的ES6 Polyfill无法正常工作

时间:2018-11-01 17:44:13

标签: reactjs create-react-app polyfills

我使用create-react-app创建了一个新的reactjs项目,发现它不适用于IE10和IE9。我做了很多研究,这使我开始使用polyfills,这与我在React应用程序中的其他Rails一样,但是我发现它不适用于通过create-react-app创建的项目。

这是错误:

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导入,并继续遇到相同的错误。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

因此,似乎create-react-app限制了我控制webpack配置,我决定采用另一种方法,并使用webpack 4构建一个新的react应用程序。我关注了本文,onClick function call using scriptlet

这使我可以更好地控制webpack的配置,现在polyfill加载程序正在运行。

尽管如此,如果有人对为什么它不能与create-react-app一起使用做出解释,我认为这对于社区了解将是有帮助的。 谢谢!