先贴出报错:
我本地的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。然后在代码里面需要重新安装新的版本,此时才真正解决了此问题。
本文分享了在使用Webpack 4进行项目打包时遇到的ESLint未报告但导致浏览器加载空白页面的问题。通过开启source-map定位到代码错误,发现是由于条件判断中使用了一个等号而非两个等号。修改后,还需更新npm组件库版本并重新发布,最终解决了该问题。
3万+

被折叠的 条评论
为什么被折叠?



