我今天用create-react-app创建了一个新项目。生产版本在IE11上运行不正常,控制台显示以下错误:
SCRIPT1010: Expected identifier
它指向我的main.js内部的行:
{var n=e&&e.__esModule?function(){return e.default}:function(){return e};
错误在上述e。(默认)之后。我的包json很简单:
{ "name": "sample-app", "version": "0.1.0", "private": true, "dependencies": { "react": "^16.3.1", "react-dom": "^16.3.1", "react-scripts": "1.1.4" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" } }
奇怪的是,我的开发服务器可以在IE11上完美运行,因此问题仅在于生产版本。它也可以在Chrome上正常运行。我需要保鲜纸吗?
这是我固定的方法。不要忘了React先生“ Dan Abramov”在这方面帮助了我。
因此,问题是默认情况下,应用程序是在IE7上呈现的,而不仅仅是在支持已编译版本的IE IE11 / EDGE上呈现。因此,我不得不提及元信息,以使浏览器知道预期的浏览器是IE11 / edge。将其添加到headindex.html 的部分中:
head
<meta http-equiv="X-UA-Compatible" content="IE=edge">
现在,正如我所知,您还会在控制台中看到以下错误:
SCRIPT5009: 'Set' is undefined
不用担心,还有一种解决方法:https : //reactjs.org/docs/javascript-environment- requirements.html
这是我在git上与Dan讨论的问题:https : //github.com/facebook/create-react- app/issues/4255