gpt4 book ai didi

reactjs - 无法分配给只读属性 '__esModule'

转载 作者:行者123 更新时间:2023-12-03 13:16:57 25 4
gpt4 key购买 nike

当使用 Webpack 和 Babel 编译 React 和 Redux 应用程序时,我得到:

Uncaught TypeError: Cannot assign to read only property '__esModule' of #<Object>

在某些较旧的浏览器中(<= Chrome 1、Android 4、Safari 5)。

此问题似乎源于 reduxreact-redux输出行 exports.__esModule = true;lib但我的应用程序使用 Object.defineProperty 构建相反(因为他们 build loosely 而我没有)。

两种解决方案是:

  1. loose 中构建我的应用程序模式也是如此。

  2. 导入 react-redux/srcredux/src并使用与应用程序相同的 .babelrc 构建它(一切都不是松散的)。

只要它们一致并且:

Object.defineProperty(exports, "__esModule", {
value: true
});

exports.__esModule = true;不共存于我的输出中,一切正常。

我的问题是,什么是正确的解决方案?为什么这只影响旧版浏览器?为什么它们会发生冲突?

这是一个similar question .

最佳答案

Object.defineProperty在某些 Android 4 原生浏览器版本以及其他可能使用 Webkit 中存在错误的实现的浏览器上出现问题。

检查this bug reportand this other one向 chromium 项目报告。

好消息是您可以申请 this polyfill解决问题。

为了让事情变得简单,您只需将该polyfill 复制并粘贴到<script> 上即可。在 bundle 之前添加标签。

这将解决您的问题。

关于reactjs - 无法分配给只读属性 '__esModule',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35461830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com