一、前言

这个错误是使用webpack编译时候出的问题,通过查阅网上资料无一解决,也无一说明问题原因。本文将自己发现的原因进行记录,并记录解决思路

二、问题原因

该问题出现的主要原因是依赖库和本地的webpack不兼容导致的,因为需要使用webpack去编译,所以报的错误不太明显,只能察觉出是编译问题。由于webpack4webpack5有些差别,所以如果有的依赖是跟webpack4配套使用的,但是项目环境是webpack5。就会出现问题,或者其他情况,总之就是版本不匹配。如何查阅和webpack版本匹配的依赖版本,暂时没有找到方式,能做的是都使用最新版本。

三、查找问题依赖

新建一个可以运行的项目,尽可能简单。确定当前的webpack版本,然后逐步的将原有项目的依赖进行添加,直到出错的时候,然后查找该依赖最新版本,使用npm view <package> versions进行查找。编译成功后,再次添加新的依赖,直到所有依赖全部添加,而且项目编译成功。然后将该环境替换旧项目的依赖。注意保持webpack版本。

四、可能出现的问题

测试环境是使用的华为快应用开发工具,依赖管理使用的是npm。这个环境会出现一个问题,就是依赖库只能升不能降,只能加,不能减,所以如果出现依赖减少,版本降低的情况,需要将项目的build缓存,node_modules文件夹、package-lock.json删除,然后重新进行依赖下载,如果没有可视化工具,可以执行npm install命令进行下载。下载完再进行编译。

在使用华为快应用开发工具时候,第一次编译有时候会出现语法不支持的情况,比如以下内容:
在这里插入图片描述
出现该问题时候,将项目build缓存,node_modules文件夹删掉,重新下载依赖,然后重新编译即可,多试两次,如果还是这样,那么就只能尝试解决该问题了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐