报错:Invalid left-hand side in assignment 解决

本文分享了在使用Webpack 4进行项目打包时遇到的ESLint未报告但导致浏览器加载空白页面的问题。通过开启source-map定位到代码错误,发现是由于条件判断中使用了一个等号而非两个等号。修改后,还需更新npm组件库版本并重新发布,最终解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先贴出报错:

我本地的weback4 配置了eslint, 打包的时候没有报eslint报错,且打包成功。但是打包出来的html文件浏览器打开是空白。控制台打开报错是Uncaught RefrenceError: Invalid left-hand side in assignment. 大致的意思是表达式左边不合法,根据经验应该是某个等于号有问题。

首先:打开source-map排错,webpack再次打包发现报错详细位置:

 

也就是这个if判断里面的==问题,迅速定位到代码,找到原因:

原来是这个判断的时候,不小心写成了一个等于号。

解决方案:

if (process.env.NODE_ENV === 'production') {
    module.exports = require('./dist/large-number.min.js');
} else {
    module.exports = require('./dist/large-number.js');
}

到这里了之后,还没有结束。首先需要关闭source-map。再次打包,发现仍然有此报错,以为是浏览器缓存。其实不是。我的这块代码写在我的npm组件库里面,而错误的代码是我npm i 安装过来的。切换到组件库代码,本地换了版本号之后,又重新npm publish。然后在代码里面需要重新安装新的版本,此时才真正解决了此问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值