说在前面
最近在新拉项目执行install以及run命令时,两个项目同时报了类似的错误,报错详情如下图所示。

因为之前同事运行代码没有问题,所以基本的问题可以定位在某个依赖版本问题,考虑到时间先后,大概率是新版本使用了一些新的特性,导致loader并不能正确的理解代码的语义。
问题解决
方法一:直接打包同事的node_modules文件夹
这个是第一次遇到这个问题时我采用的解决办法,因为项目工期紧张,所以直接用了最简单粗暴的方法,毋庸置疑,这样是可以解决上述问题的。
方法二:复制同事的package-lock.json文件(未验证)
之所以未验证,是我打算用这个方法的时候,直接报错了,之前也了解这方面的内容,Mac电脑和Windows电脑的package-lock.json是不通用的,这也是最初我们没有选择提交package-lock.json到代码仓库上的原因,但是我认为这个办法是可行的。
方法三:验证问题的发生原因
报错提示相对比较明显,问题出在mapbox-gl.js这个文件上,我本来是打算找到报错的位置,但是文件是压缩过的,并不好定位,所以我根据同事package-lock.json下载到了对应版本的mapbox-gl包,果不其然,项目可以正常的启动了。
说到最后
文章本身没什么深度,希望能给遇到类似问题的同学一个解决思路,欢迎大家留言讨论。
文章讲述了在执行install和run命令时遇到的代码错误,问题可能由新版本依赖引起。作者尝试了复制node_modules和package-lock.json来解决,最终通过回退到特定版本的mapbox-gl包成功启动项目。建议遇到类似问题的读者可以考虑依赖版本匹配和代码兼容性问题。
6751

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



