Javascript react应用程序:internet explorer 11上运行的问题
我有一个react应用程序。在Windows 10上,它在Chrome和Internet Explorer 11上运行良好。但在Windows7上,它只适用于Chrome,而不适用于InternetExplorer11 我得到以下错误:Javascript react应用程序:internet explorer 11上运行的问题,javascript,node.js,reactjs,internet-explorer,npm,Javascript,Node.js,Reactjs,Internet Explorer,Npm,我有一个react应用程序。在Windows 10上,它在Chrome和Internet Explorer 11上运行良好。但在Windows7上,它只适用于Chrome,而不适用于InternetExplorer11 我得到以下错误: SCRIPT438: Object doesn't support property or method 'assign' 通过我的研究,这看起来像是IE11的兼容性问题(尽管不确定为什么它能在Windows10上工作) 据我所知,需要使用一些关于polyfi
SCRIPT438: Object doesn't support property or method 'assign'
通过我的研究,这看起来像是IE11的兼容性问题(尽管不确定为什么它能在Windows10上工作)
据我所知,需要使用一些关于polyfill/transfill(?)/babel的东西。但我最大的问题是:
我有一个bundle.js文件,其中包含所有站点代码。这是我自己的代码和NPM节点模块的混合。如果问题出在我的代码上,那么我可以添加导入行并更改代码。但是错误来自npm节点模块。我无法编辑这些文件。如何在不接触这些文件的情况下解决此Object.assign问题
我对浏览器兼容性的东西不太熟悉,所以我被卡住了
有什么建议吗?最好的长期/社区友好型解决方案可能是确定导致问题的模块,并向模块的维护人员提出问题。但是,如果需要立即修复,或者无法找出导致问题的模块,可以尝试在加载有问题的模块之前包含Object.assign polyfill
polyfill是一段代码,用于为尚未支持给定功能的浏览器手动定义功能(如Object.assign)。在这种情况下,您可以包括这样的内容,或者在其他模块之前将其导入到您的bundle中,或者在加载bundle.js文件之前下载并提供polyfill文件,并在HTML文档中加载带有
标记的文件。这样,在浏览器遇到调用Object.assign的模块代码之前,Object.assign将由polyfill定义。最好的长期/社区友好解决方案可能是确定是哪个模块导致问题,并向模块的维护人员提交问题。但是,如果需要立即修复,或者无法找出导致问题的模块,可以尝试在加载有问题的模块之前包含Object.assign polyfill
polyfill是一段代码,用于为尚未支持给定功能的浏览器手动定义功能(如Object.assign)。在这种情况下,您可以包括这样的内容,或者在其他模块之前将其导入到您的bundle中,或者在加载bundle.js文件之前下载并提供polyfill文件,并在HTML文档中加载带有
标记的文件。这样,在您的浏览器遇到调用Object.assign的模块代码之前,Object.assign将由polyfill定义。另一个使用“create react app”的PEEP解决方法是无法访问网页包配置文件,请执行以下步骤:
巴别塔polyfill
然后:
//index.jsx
进口“babel polyfill”
使用“创建反应应用程序”的PEEP的另一个解决方法是无法访问网页包配置文件,请执行以下步骤: 巴别塔polyfill 然后: //index.jsx 进口“babel polyfill”
我想我需要立即修复。关于您的链接,我所做的是运行npm install es6 object assign,在package.json中,我在依赖项和devdependences中都包含了“es6 object assign”:“^1.1.0”。在我的index.html中,我在正文中引用了我的包文件。在这上面我包含了代码:var obj=Object.assign({},{foo:'bar'});它似乎不起作用。我甚至重新启动了我的npm网页,但我仍然得到同样的错误。这是如何使用它的?这是我的index.html主体:var obj=Object.assign({},{foo:'bar});设法解决了!我无法在index.html上运行它,所以我决定将下面的代码添加到一个主要的父js文件中。我想我需要马上修复。关于您的链接,我所做的是运行npm install es6 object assign,在package.json中,我在依赖项和devdependences中都包含了“es6 object assign”:“^1.1.0”。在我的index.html中,我在正文中引用了我的包文件。在这上面我包含了代码:var obj=Object.assign({},{foo:'bar'});它似乎不起作用。我甚至重新启动了我的npm网页,但我仍然得到同样的错误。这是如何使用它的?这是我的index.html主体:var obj=Object.assign({},{foo:'bar});设法解决了!我无法在index.html上运行它,所以我决定将下面的代码添加到一个主要的父js文件中。它成功了