Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react应用程序:internet explorer 11上运行的问题_Javascript_Node.js_Reactjs_Internet Explorer_Npm - Fatal编程技术网

Javascript react应用程序:internet explorer 11上运行的问题

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

我有一个react应用程序。在Windows 10上,它在Chrome和Internet Explorer 11上运行良好。但在Windows7上,它只适用于Chrome,而不适用于InternetExplorer11

我得到以下错误:

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文件中。它成功了