版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/marko_zheng/article/details/82660311
Cannot assign to read only property ‘__esModule’ of #Object 的问题
问题背景:
我这里使用了Vue+elementUI构建的项目,项目中依赖echarts,webpack,babel等模块,打包后在高版本浏览器中没有问题,但是在低版本的浏览器中,谷歌1.7.X,或者IE8一下,就会报错
Cannot assign to read only property '__esModule' of #Object
解决方案
对于webpack 1.0,只需设置loose:当你使用babel-preset-env时为true。但是对于Webpack 2,loose模式无法解决此问题。
在stackoverflow上找到了好多解决方案,但是都没有解决我的问题,最后采用了一种方法
在build中添加了一个client.js文件
// client_patch.js, For Android 4.0
var defineProperty = Object.defineProperty;
Object.defineProperty = function (exports, name) {
if (name === '__esModule') {
exports[name] = true;
return;
}
return defineProperty.apply(this, arguments);
};
在webpack.base.conf.js中的entry中添加
entry: {
app:[
path.resolve(__dirname, 'client.js'),
'./src/main.js'
]
}